/* THAI AIR NEWS — editorial design system (ported from the thai-airline-html mockup,
 * recolored to our ROSE-GOLD palette). Shared by all design-* pages. No emoji. */
:root{
  --ink:#36262d;--royal:#864156;--royal-deep:#683243;--navy:#3b2230;        /* navy panel -> deep plum */
  --orchid:#c2718a;--orchid-light:#dd9fb1;--gold:#c08a6a;--gold-light:#e6bda4;
  --bg:#fbf6f4;--card:#ffffff;--muted:#f3e9ea;--muted-fg:#9a8088;
  --fg:#36262d;--line:#ecdadd;--primary:#a8475f;--primary-fg:#fff;
  --serif:"Cormorant Garamond",serif;--sans:"Sarabun",-apple-system,sans-serif;
  --radius:12px;--max:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);background:var(--bg);color:var(--fg);line-height:1.55;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
.muted{color:var(--muted-fg)}

/* ── ticker ── */
.tk{background:var(--royal);height:32px;display:flex;align-items:center;overflow:hidden;color:#fff}
.tk .live{flex:none;background:var(--navy);height:100%;display:flex;align-items:center;padding:0 14px;font-weight:800;font-size:.6rem;letter-spacing:.22em}
.tk .items{flex:1;overflow:hidden;padding:0 18px;position:relative}
.tk .tktrack{display:flex;width:max-content;font-size:.7rem;animation:tkrun 120s linear infinite}
.tk:hover .tktrack{animation-play-state:paused}
.tk .tktrack span,.tk .tktrack a{white-space:nowrap;padding-right:46px;text-decoration:none;color:#fff}
.tk .tktrack a:hover b,.tk .tktrack a:hover{color:#fff;opacity:.85}
.tk .tktrack b{color:var(--gold-light);margin-right:6px}
@keyframes tkrun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── header ── */
header.site{position:sticky;top:0;z-index:50;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.1)}
.site .bar{height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:10px}
.logo .mk{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--royal),var(--orchid));display:grid;place-items:center;color:var(--gold-light)}
.logo .nm{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:#fff;letter-spacing:.03em;line-height:1}
.logo .nm span{color:var(--orchid-light)}
.logo .sb{font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:2px}
.site nav{display:flex;gap:2px}
.site nav a{padding:8px 13px;border-radius:8px;font-size:.85rem;font-weight:500;color:rgba(255,255,255,.7);transition:.2s}
.site nav a:hover,.site nav a.on{background:rgba(255,255,255,.1);color:#fff}
.site nav a.cta{background:var(--orchid);color:#fff;font-weight:700}
.site nav a.cta:hover{background:var(--royal)}
.burger{display:none;background:none;border:0;color:#fff;cursor:pointer;padding:6px;margin:-6px}
@media(max-width:760px){
  .site .bar{height:52px;position:relative;gap:10px}
  .logo .sb{display:none}                 /* subtitle ล้น -> ซ่อนบนมือถือ */
  .logo .nm{font-size:1.05rem}
  .burger{display:block}
  /* nav = dropdown เต็มกว้างใต้ header (เปิดด้วย burger -> inline display:flex) */
  .site nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:4px;
    background:var(--navy);border-top:1px solid rgba(255,255,255,.12);padding:10px;
    box-shadow:0 16px 30px -8px rgba(0,0,0,.5);z-index:60}
  .site nav a{padding:13px 14px;border-radius:9px;font-size:.95rem}
  .site nav a.cta{text-align:center;margin-top:2px}
}

/* ── navy hero panel ── */
.navy{position:relative;overflow:hidden;background:radial-gradient(680px 340px at 88% -12%,rgba(194,113,138,.45),transparent 60%),linear-gradient(135deg,var(--navy),var(--royal-deep) 62%,#8e4860);color:#fff}
/* home hero: rotating Thai-airline aircraft photos behind the news, darkened for readability */
.hero-bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity 1.4s ease;z-index:0}
.hero-bg.on{opacity:1}
.hero-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(40,14,28,.88),rgba(40,14,28,.5) 46%,rgba(70,28,50,.82))}
.navy>.wrap,.navy>.catstrip{position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(221,159,177,.14);border:1px solid rgba(221,159,177,.28);border-radius:999px;padding:5px 12px;margin-bottom:16px}
.eyebrow .d{width:6px;height:6px;border-radius:50%;background:var(--orchid-light);animation:pls 1.6s infinite}
@keyframes pls{50%{opacity:.4}}
.eyebrow span{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orchid-light)}
.page-hero{padding:38px 0}
.page-hero .tag{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.page-hero .tag i{width:20px;height:1px;background:var(--orchid);display:block}
.page-hero .tag span{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.page-hero h1{font-family:var(--sans);font-weight:800;font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:6px}
.page-hero p{font-size:.9rem;color:rgba(255,255,255,.5)}

/* ── section heads ── */
.sec{margin-bottom:34px}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px;gap:12px}
.sec-h .k{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orchid);margin-bottom:3px}
.sec-h h2{font-family:var(--sans);font-weight:800;font-size:1.25rem}
.sec-h .more{font-size:.76rem;font-weight:600;color:var(--primary);white-space:nowrap}

/* ── grids ── */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
@media(max-width:900px){.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.g3,.g2{grid-template-columns:1fr 1fr}}

/* ── filter sidebar (promotions) ── */
.layout{display:grid;grid-template-columns:230px 1fr;gap:26px;padding:26px 0}
@media(max-width:880px){.layout{grid-template-columns:1fr}}
.filters{position:sticky;top:74px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;align-self:start}
.filters .fh{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--muted);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg)}
.filters .fh .clr{margin-left:auto;color:var(--primary);cursor:pointer;font-weight:600}
.filters .body{padding:14px;display:flex;flex-direction:column;gap:18px;max-height:72vh;overflow:auto}
.filters .grp>p{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);margin-bottom:6px}
.filters .opt{display:block;width:100%;text-align:left;font-size:.82rem;padding:7px 11px;border-radius:9px;border:0;background:none;color:var(--fg);cursor:pointer;transition:.15s;display:flex;align-items:center;gap:8px}
.filters .opt:hover{background:var(--muted)}
.filters .opt.on{background:var(--primary);color:#fff;font-weight:600}
.filters .opt img{width:18px;height:13px;object-fit:cover;border-radius:2px}
.filters .opt .lg{width:18px;height:18px;border-radius:4px;background:#fff;object-fit:contain;border:1px solid var(--line)}
.results-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:.86rem;color:var(--muted-fg)}
.results-bar b{color:var(--fg)}

/* ── airline cards (airlines page) ── */
.al-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
@media(max-width:900px){.al-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.al-grid{grid-template-columns:1fr}}
/* airline card = real aircraft photo bg + brand overlay; brand-gradient fallback if no photo */
.al-card{--brand:#864156;position:relative;height:198px;border-radius:14px;overflow:hidden;display:block;
  background:linear-gradient(140deg,var(--brand),color-mix(in srgb,var(--brand) 50%,#23101a));
  box-shadow:0 6px 18px -12px rgba(40,15,30,.5);transition:transform .2s,box-shadow .2s}
.al-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--brand);z-index:3}
.al-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px -16px color-mix(in srgb,var(--brand) 60%,rgba(0,0,0,.45))}
.al-card .al-bg{position:absolute;inset:0;background:center/cover no-repeat;z-index:0}
.al-card .al-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(12,5,9,.5) 0%,rgba(12,5,9,.1) 36%,rgba(12,5,9,.5) 64%,rgba(12,5,9,.88) 100%)}
.al-card .top{position:absolute;top:16px;left:16px;right:16px;z-index:2;display:flex;gap:11px;align-items:center}
.al-card .lg{width:46px;height:46px;border-radius:11px;background:#fff;object-fit:contain;padding:6px;flex:none;box-shadow:0 2px 9px rgba(0,0,0,.35)}
.al-card .mono{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.85rem;flex:none;box-shadow:0 2px 9px rgba(0,0,0,.35)}
.al-card h3{font-family:var(--sans);font-weight:800;font-size:1.02rem;line-height:1.2;color:#fff;text-shadow:0 1px 9px rgba(0,0,0,.65)}
.al-card .th{font-size:.8rem;color:rgba(255,255,255,.82);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.al-card .ft{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;display:flex;align-items:center;justify-content:space-between;font-size:.76rem}
.al-card .pcount{color:#fff;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.al-card .ft .pc{font-weight:700;color:#fff;background:rgba(255,255,255,.18);padding:6px 13px;border-radius:999px;backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.25)}
.al-card:hover .ft .pc{background:var(--brand);border-color:transparent}
.grp-h{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.grp-h i{width:4px;height:22px;border-radius:3px;background:var(--orchid)}
.grp-h i.alt{background:var(--royal)}
.grp-h h2{font-family:var(--sans);font-weight:800;font-size:1.2rem}
.grp-h .cnt{font-size:.66rem;background:var(--muted);color:var(--muted-fg);padding:2px 9px;border-radius:999px}

/* summary chips bar */
.sumbar{background:var(--card);border-bottom:1px solid var(--line)}
.sumbar .in{display:flex;align-items:center;gap:14px;padding:11px 0;font-size:.85rem;color:var(--muted-fg)}
.sumbar b{color:var(--fg)}
.sumbar .sep{width:1px;height:15px;background:var(--line)}
.filters .fchev{display:none}
/* ── mobile: collapsible promos filter + non-overflowing page-hero/summary ── */
@media(max-width:880px){
  .layout{grid-template-columns:1fr;padding:14px 0}
  .filters{position:static;top:auto}
  .filters .fh{cursor:pointer;font-size:.74rem}
  .filters .fh .clr{margin-left:8px}
  .filters .fchev{display:block;margin-left:auto;flex:none;transition:transform .25s;color:var(--muted-fg)}
  .filters .body{display:none}
  .filters.open .body{display:flex}
  .filters.open .fchev{transform:rotate(180deg)}
}
@media(max-width:600px){
  .page-hero{padding:24px 0}
  .page-hero h1{font-size:1.45rem;line-height:1.25}
  .sumbar .in{flex-wrap:wrap;gap:6px 12px;font-size:.78rem;padding:10px 0}
  .sumbar .sep{display:none}
}

/* ── CTA ── */
.ctaB{background:linear-gradient(135deg,var(--navy),var(--royal-deep));border-top:1px solid rgba(255,255,255,.1)}
.ctaB .in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:36px 0;flex-wrap:wrap}
.ctaB h2{font-weight:800;font-size:1.45rem;color:#fff;margin-bottom:4px}
.ctaB p{color:rgba(255,255,255,.5);font-size:.88rem}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.88rem;padding:11px 22px;border-radius:9px;transition:.2s;cursor:pointer;border:0}
.btn-pri{background:var(--orchid);color:#fff}.btn-pri:hover{background:var(--orchid-light);transform:translateY(-1px)}
.btn-ghost{border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.82);background:none}.btn-ghost:hover{border-color:rgba(255,255,255,.5);color:#fff}

/* ── footer ── */
footer.site{background:var(--navy);color:#fff;margin-top:8px}
footer.site .top{height:3px;background:var(--orchid)}
.fcols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;padding:40px 0 26px}
@media(max-width:680px){.fcols{grid-template-columns:1fr}}
.fcols p{font-size:.84rem;color:rgba(255,255,255,.5);max-width:24rem;margin-top:14px}
.fcols .fine{font-size:.72rem;color:rgba(255,255,255,.28);margin-top:16px}
.fcols h4{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.38);font-weight:700;margin-bottom:13px}
.fcols ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.fcols ul a{font-size:.86rem;color:rgba(255,255,255,.55)}.fcols ul a:hover{color:#fff}
.fbar{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.74rem;color:rgba(255,255,255,.28)}

/* ── detail pages ── */
.detail{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;padding:28px 0}
@media(max-width:820px){.detail{grid-template-columns:1fr}}
.detail .poster{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--muted)}
.detail .poster img{width:100%;height:auto}
.detail .info h1{font-family:var(--sans);font-weight:800;font-size:1.5rem;line-height:1.3;margin:6px 0 10px}
.detail .info .price{font-size:1rem;color:var(--royal-deep)}
.detail .info .price b{font-size:2rem;font-weight:800;color:var(--orchid)}
.detail .meta{display:flex;flex-direction:column;gap:10px;margin:18px 0;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.detail .meta .r{display:flex;align-items:center;gap:9px;font-size:.88rem}
.detail .meta .r .lab{color:var(--muted-fg);width:84px;flex:none;font-size:.78rem}
.crumb{display:flex;gap:7px;align-items:center;font-size:.78rem;color:var(--muted-fg);padding:14px 0;flex-wrap:wrap}
.crumb a:hover{color:var(--orchid)}

/* ── airline detail ── */
.ad-hero{color:#fff;padding:38px 0;position:relative;overflow:hidden}
.ad-hero::after{content:"";position:absolute;inset:0;opacity:.1;background:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.15) 20px,rgba(255,255,255,.15) 21px)}
.ad-hero .wrap{position:relative;z-index:1}
.ad-back{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:rgba(255,255,255,.6);margin-bottom:18px}
.ad-back:hover{color:#fff}
.ad-row{display:flex;align-items:center;gap:18px}
.ad-row .lg{width:76px;height:76px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.25);object-fit:contain;padding:10px;flex:none}
.ad-row .mono{width:76px;height:76px;border-radius:18px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-weight:800;font-size:1.5rem;flex:none}
.ad-row h1{font-family:var(--sans);font-weight:800;font-size:clamp(1.5rem,3vw,2rem);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ad-row .badge{font-size:.66rem;font-weight:600;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);padding:3px 10px;border-radius:999px}
.ad-row .sub{color:rgba(255,255,255,.62);font-size:.9rem;margin-top:3px}
.ad-row .co{display:flex;align-items:center;gap:6px;font-size:.76rem;color:rgba(255,255,255,.5);margin-top:4px}
.ad-stats{display:flex;gap:30px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.ad-stats .s{display:flex;align-items:center;gap:9px}
.ad-stats .s b{font-weight:800;font-size:1.5rem}
.ad-stats .s span{font-size:.84rem;color:rgba(255,255,255,.5)}

.content2{display:grid;grid-template-columns:1fr 280px;gap:30px;padding:30px 0}
@media(max-width:880px){.content2{grid-template-columns:1fr}}
.subsec-h{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.subsec-h i{width:4px;height:20px;border-radius:3px;background:var(--primary)}
.subsec-h h2{font-weight:800;font-size:1.18rem}
.subsec-h .c{margin-left:auto;font-size:.74rem;color:var(--muted-fg)}
.mini-air{display:flex;flex-direction:column;gap:9px}
.mini-air a{display:flex;align-items:center;gap:11px;padding:11px;border-radius:12px;border:1px solid var(--line);background:var(--card);transition:.2s}
.mini-air a:hover{border-color:var(--orchid)}
.mini-air .lg{width:36px;height:36px;border-radius:9px;background:#fff;border:1px solid var(--line);object-fit:contain;padding:4px;flex:none}
.mini-air .mono{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.62rem;flex:none}
.mini-air .n{font-size:.84rem;font-weight:700}
.mini-air .c{font-size:.72rem;color:var(--muted-fg)}
.aside-h{font-weight:800;font-size:1rem;margin-bottom:13px}
.empty-box{text-align:center;padding:48px 0;color:var(--muted-fg);background:var(--muted);border-radius:14px}

/* ── promo detail extras ── */
.pd-poster{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--muted);margin-bottom:18px}
.pd-poster img{width:100%;height:auto;display:block}
.airtag{display:flex;align-items:center;gap:12px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:16px}
.airtag .lg{width:42px;height:42px;border-radius:11px;background:#fff;border:1px solid var(--line);object-fit:contain;padding:5px;flex:none}
.airtag .mono{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.66rem;flex:none}
.airtag .n{font-weight:700;font-size:.92rem}
.airtag .s{font-size:.74rem;color:var(--muted-fg)}
.pricecard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;position:sticky;top:74px}
.pricecard .lab{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);margin-bottom:4px}
.pricecard .big{font-weight:800;font-size:2.5rem;color:var(--orchid);line-height:1}
.pricecard .row{display:flex;align-items:center;gap:10px;background:var(--muted);border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin-top:10px}
.pricecard .row .t{font-size:.64rem;color:var(--muted-fg)}
.pricecard .row .v{font-size:.86rem;font-weight:700}
.note{display:flex;gap:9px;padding:14px;border-radius:12px;border:1px solid rgba(192,138,106,.3);background:rgba(192,138,106,.07);font-size:.78rem;color:var(--muted-fg);line-height:1.6;margin-top:16px}
.cond{background:var(--muted);border-radius:14px;padding:18px;margin-top:18px}
.cond h3{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:7px;margin-bottom:13px}
.cond .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cond .lab{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg);margin-bottom:2px}
.cond .v{font-size:.88rem;font-weight:700}
/* ── detail: gallery (ภาพสนาม) + คลิป ── */
.detail-media{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.detail-media h3{font-weight:800;font-size:1.02rem;margin:0 0 12px;color:var(--royal-deep)}
.dm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:6px}
.dm-grid a{display:block;border-radius:11px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3}
.dm-grid img{width:100%;height:100%;object-fit:cover;transition:.3s}
.dm-grid a:hover img{transform:scale(1.06)}
.dm-vid{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#000;margin-bottom:12px;aspect-ratio:16/9}
.dm-vid iframe,.dm-vid video{width:100%;height:100%;display:block;border:0}

/* ── home ── */
.home-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;padding:46px 0 38px}
@media(max-width:880px){.home-hero{grid-template-columns:1fr;gap:26px}}
.home-hero h1{font-family:var(--sans);font-weight:800;font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.16;color:#fff;margin-bottom:14px}
.home-hero h1 em{font-style:normal;color:var(--orchid-light)}
.home-hero p{color:rgba(255,255,255,.55);font-size:.95rem;max-width:25rem;margin-bottom:24px;font-weight:300}
.home-hero .hbtns{display:flex;gap:12px;flex-wrap:wrap}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat3{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 14px;display:flex;flex-direction:column;gap:11px}
.stat3 .ic{color:var(--gold-light)}.stat3:nth-child(2) .ic{color:var(--orchid-light)}.stat3:nth-child(3) .ic{color:#fff}
.stat3 .n{font-weight:800;font-size:2.1rem;line-height:1;color:var(--gold-light)}
.stat3:nth-child(2) .n{color:var(--orchid-light)}.stat3:nth-child(3) .n{color:#fff}
.stat3 .l{font-size:.72rem;color:rgba(255,255,255,.5)}
.stat3 .s{font-size:.62rem;color:rgba(255,255,255,.3)}
.catstrip{border-top:1px solid rgba(255,255,255,.1)}
.catstrip .row{display:flex;gap:8px;overflow-x:auto;padding:11px 0}
.catchip{flex:none;padding:6px 13px;border-radius:999px;font-size:.72rem;font-weight:600;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);transition:.2s;display:inline-flex;align-items:center;gap:6px}
.catchip:hover{background:rgba(255,255,255,.2);color:#fff}.catchip.on{background:var(--orchid);color:#fff}
.catchip img{width:17px;height:12px;object-fit:cover;border-radius:2px}
.home-main{display:grid;grid-template-columns:1fr 300px;gap:34px;padding:34px 0}
@media(max-width:880px){.home-main{grid-template-columns:1fr}}
.sidebox{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:17px;margin-bottom:20px}
.sidebox h3{font-weight:800;font-size:1rem;margin-bottom:13px;display:flex;justify-content:space-between;align-items:center}
.sidebox h3 a{font-size:.72rem;font-weight:600;color:var(--primary)}
.destlinks{display:flex;flex-wrap:wrap;gap:7px}
.destlinks a{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--bg);transition:.2s}
.destlinks a:hover{border-color:var(--orchid);color:var(--orchid)}
.destlinks img{width:18px;height:12px;object-fit:cover;border-radius:2px}
.allinks{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.allinks a{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--bg);transition:.2s;min-width:0}
.allinks a:hover{border-color:var(--orchid);background:var(--card)}
.allinks .lg{width:26px;height:26px;border-radius:6px;background:#fff;border:1px solid var(--line);object-fit:contain;padding:2px;flex:none}
.allinks .mono{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;color:#fff;font-size:.52rem;font-weight:800;flex:none}
.allinks .n{font-size:.72rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── NEWS (mockup) ── */
.nlogo{width:100%;height:100%;object-fit:contain;background:#fff}
.nmono{width:100%;height:100%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.7rem}
/* news hero on home (replaces old hero) */
.news-hero{padding:34px 0 30px}
.news-hero .head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px}
.news-hero .head .more{color:var(--orchid-light);font-size:.8rem;font-weight:600}
.nh-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}
@media(max-width:880px){.nh-grid{grid-template-columns:1fr}}
/* compact 3-per-row news cards on home hero */
.nh3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:760px){.nh3{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.nh3{grid-template-columns:1fr}}
.nhcard{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:13px;overflow:hidden;transition:.2s}
.nhcard:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22);transform:translateY(-2px)}
.nhcard .pic{height:148px;position:relative;background:#2a1620 center/cover no-repeat}
.nhcard .pic .cat{position:absolute;top:9px;left:9px;background:var(--orchid);color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:5px}
.nhcard .pic .al{position:absolute;bottom:9px;left:9px;width:28px;height:28px;border-radius:7px;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.nhcard .b{padding:13px}
.nhcard h3{color:#fff;font-size:.92rem;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.nhcard .meta{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.5);font-size:.7rem}
/* big news hero slider (home) */
.nslider{position:relative;border-radius:18px;overflow:hidden;height:430px;background:#2a1620;box-shadow:0 18px 44px -22px rgba(0,0,0,.6)}
.nslide{position:absolute;inset:0;display:block;background:#2a1620 center/cover no-repeat;opacity:0;visibility:hidden;transition:opacity .7s ease}
.nslide.on{opacity:1;visibility:visible}
.nslide .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,7,12,.95),rgba(18,7,12,.45) 48%,rgba(18,7,12,.05))}
.nslide .body{position:absolute;left:0;right:0;bottom:0;padding:30px 36px;max-width:780px}
.nslide .cat{display:inline-block;background:var(--orchid);color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 12px;border-radius:6px;margin-bottom:13px}
.nslide h3{color:#fff;font-weight:800;font-size:clamp(1.35rem,2.7vw,2rem);line-height:1.3;margin-bottom:11px;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.nslide .ex{color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.6;margin-bottom:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.nslide .meta{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.72);font-size:.78rem}
.nslide .meta .albox{width:24px;height:24px;border-radius:6px;overflow:hidden;flex:none}
.nslide .meta .sep{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.4)}
.narr{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;backdrop-filter:blur(6px);transition:.2s}
.narr:hover{background:rgba(255,255,255,.3)}
.narr.prev{left:16px}.narr.next{right:16px}
.ndots{position:absolute;bottom:18px;right:28px;z-index:3;display:flex;gap:7px}
.ndots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.4);transition:.25s}
.ndots button.on{width:24px;border-radius:5px;background:var(--gold-light)}
@media(max-width:760px){.nslider{height:340px}.nslide .body{padding:22px}.narr{width:34px;height:34px}.ndots{right:16px;bottom:14px}}
/* news-card carousel (home) — slide ONE card at a time, pause ~5s (JS-driven) */
.ncar{overflow:hidden;position:relative}
.ncar-track{display:flex;gap:18px;will-change:transform}
.ncar-track>.nhcard{flex:0 0 calc((100% - 36px)/3)}   /* exactly 3 per view (2 gaps of 18) */
.ncar .nhcard .pic{height:200px}
.ncar .nhcard h3{font-size:1rem}
@media(max-width:900px){.ncar-track>.nhcard{flex:0 0 calc((100% - 18px)/2)}}
@media(max-width:600px){.ncar-track>.nhcard{flex:0 0 100%}.ncar .nhcard .pic{height:210px}}  /* มือถือ = 1 ข่าวเต็มจอ */
/* big featured news card */
.nfeat{position:relative;border-radius:16px;overflow:hidden;display:block;height:340px;background:#2a1620 center/cover no-repeat}
.nfeat .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,8,14,.92),rgba(20,8,14,.25) 55%,rgba(20,8,14,.05))}
.nfeat .body{position:absolute;left:0;right:0;bottom:0;padding:22px}
.nfeat .cat{display:inline-block;background:var(--orchid);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:5px;margin-bottom:11px}
.nfeat h3{color:#fff;font-weight:800;font-size:1.4rem;line-height:1.3;margin-bottom:10px;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.nfeat .meta{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.7);font-size:.74rem}
.nfeat .meta .al{display:flex;align-items:center;gap:6px}
.nfeat .meta .albox{width:20px;height:20px;border-radius:4px;overflow:hidden;flex:none}
.nfeat .meta .sep{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.4)}
/* secondary news (right column) */
.nsec{display:flex;flex-direction:column;gap:12px}
.ns-card{display:flex;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;transition:.2s}
.ns-card:hover{background:rgba(255,255,255,.1)}
.ns-card .thumb{width:84px;height:64px;border-radius:8px;overflow:hidden;flex:none;position:relative}
.ns-card .thumb img{width:100%;height:100%;object-fit:cover}
.ns-card .cat{font-size:.58rem;font-weight:700;color:var(--orchid-light);text-transform:uppercase;letter-spacing:.06em}
.ns-card h4{color:#fff;font-size:.84rem;font-weight:700;line-height:1.35;margin:2px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ns-card .meta{color:rgba(255,255,255,.5);font-size:.68rem}
/* news LIST page */
.news-cats{background:var(--card);border-bottom:1px solid var(--line)}
.news-cats .row{display:flex;gap:8px;overflow-x:auto;padding:11px 0}
.ncat{flex:none;padding:6px 14px;border-radius:999px;font-size:.74rem;font-weight:600;background:var(--muted);color:var(--muted-fg);border:0;cursor:pointer;transition:.2s}
.ncat:hover{color:var(--orchid)}.ncat.on{background:var(--primary);color:#fff}
.nlist{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.nlist{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.nlist{grid-template-columns:1fr}}
.nart{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s}
.nart:hover{border-color:var(--orchid);box-shadow:0 10px 26px -16px rgba(71,31,45,.3)}
.nart .pic{height:170px;position:relative;overflow:hidden;background:var(--muted)}
.nart .pic img{width:100%;height:100%;object-fit:cover;transition:.4s}
.nart:hover .pic img{transform:scale(1.05)}
.nart .pic .cat{position:absolute;top:10px;left:10px;background:var(--orchid);color:#fff;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:5px}
.nart .pic .al{position:absolute;bottom:10px;left:10px;width:30px;height:30px;border-radius:7px;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.nart .b{padding:14px}
.nart h3{font-weight:800;font-size:.98rem;line-height:1.35;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nart p{font-size:.8rem;color:var(--muted-fg);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:11px}
.nart .meta{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--muted-fg);border-top:1px solid var(--line);padding-top:10px}
/* news DETAIL */
.nd-hero{height:300px;border-radius:18px;overflow:hidden;position:relative;margin-bottom:20px}
.nd-hero img{width:100%;height:100%;object-fit:cover}
.nd-hero .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,8,14,.6),transparent 60%)}
.nd-hero .cat{position:absolute;top:16px;left:16px;background:var(--orchid);color:#fff;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:5px 12px;border-radius:6px}
.nd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:.8rem;color:var(--muted-fg);margin-bottom:14px}
.nd-meta .al{display:flex;align-items:center;gap:7px}
.nd-meta .albox{width:24px;height:24px;border-radius:6px;overflow:hidden;flex:none}
.nd-body h1{font-weight:800;font-size:1.7rem;line-height:1.32;margin-bottom:16px}
.nd-body p{font-size:1rem;color:#5a4650;line-height:1.85;margin-bottom:15px}
.nd-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.nd-tags span{font-size:.74rem;color:var(--muted-fg);background:var(--muted);padding:5px 12px;border-radius:999px}
