/* เว็บไซต์โรงพยาบาลไพรบึง — โทนขาว–เขียว (ดีไซน์ v2)
   Layout: แถบบน → หัวเว็บขาว → hero มิ้นต์สว่าง + การ์ดภาพ → การ์ดบริการลอยทับขอบ hero → เนื้อหาบนพื้นขาว สลับส่วนเขียวอ่อน → ท้ายเว็บเขียวเข้ม
   ตั้งใจใช้ธีมสว่างธีมเดียว */
:root{
  --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#F3FAF6; --ink:#12261C; --muted:#5D7167; --line:#E0EDE5;
  --brand:#0A5C3E; --brand-ink:#FFFFFF; --brand-soft:#DCF3E6; --leaf:#14A46C;
  --lamduan:#9BE7C0; --lamduan-soft:#F3FAF6; --focus:#14A46C;
  --amber:#8F5B0A; --amber-soft:#FCF2DC;
  --danger:#C8402C; --danger-soft:#FFF1EE; --ok:#12875A; --warn:#8F5B0A; --fb:#1877F2;
  --hero-a:#06402B; --hero-b:#0F7A50; --hero-ink:#EAF7EF;
  --shadow:0 1px 2px rgba(10,92,62,.06),0 12px 32px -8px rgba(10,92,62,.16);
  --f-display:"Anuphan","IBM Plex Sans Thai Looped",Tahoma,sans-serif;
  --f-body:"IBM Plex Sans Thai Looped","Noto Sans Thai",Tahoma,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --fs:16px; --r:14px; --r-lg:20px;
  color-scheme:only light;
}
:root[data-fs="sm"]{--fs:14px}
:root[data-fs="lg"]{--fs:18px}

*{box-sizing:border-box}
html{font-size:var(--fs);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1rem;line-height:1.65}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.28;margin:0;text-wrap:balance;color:var(--ink)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:var(--brand-ink);padding:.5rem 1rem;z-index:100}
.skip:focus{left:16px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:16px}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--leaf)}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--leaf);border-radius:2px}
.ico{width:1.15em;height:1.15em;flex:none;vertical-align:-.18em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:12px;padding:.6rem 1.15rem;font-weight:600;cursor:pointer;background:var(--brand);color:var(--brand-ink);font-size:.95rem;white-space:nowrap;line-height:1.4;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(10,92,62,.6)}
.btn.ghost{background:var(--surface);border-color:var(--line);color:var(--brand)}
.btn.gold{background:#FFFFFF;color:var(--brand)}
.btn.danger{background:var(--danger);color:#fff}
.btn.fb{background:var(--fb);color:#fff}
.btn.sm{padding:.35rem .85rem;font-size:.86rem;border-radius:10px}
.btn.block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;border-radius:999px;padding:.12rem .6rem;background:var(--surface-2);color:var(--muted);white-space:nowrap}
.pill.fb{background:#E7F0FE;color:var(--fb)}
.pill.new{background:var(--amber-soft);color:var(--amber)}
.pill.ok{background:var(--brand-soft);color:var(--brand)}
.pill.danger{background:var(--danger-soft);color:var(--danger)}

/* ── แถบบนสุด ── */
.util{background:var(--surface);border-bottom:1px solid var(--line);font-size:.84rem;color:var(--muted)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding-block:.4rem}
.util .left,.util .right{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}
.emerg{color:var(--danger);font-weight:600;display:inline-flex;gap:.35rem;align-items:center}
.emerg::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--danger)}
.fsz{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.fsz button{border:0;background:var(--surface);padding:0 .55rem;cursor:pointer;color:var(--muted);line-height:1.7}
.fsz button[aria-pressed="true"]{background:var(--brand-soft);color:var(--brand);font-weight:600}

/* ── หัวเว็บ ── */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:1rem;padding-block:.7rem;position:relative}
.logo{display:flex;align-items:center;gap:.7rem;min-width:0}
.logo img{width:48px;height:48px;flex:none;object-fit:contain}
.logo b{display:block;font-family:var(--f-display);font-size:1.18rem;color:var(--brand);line-height:1.2}
.logo small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.04em;line-height:1.3}
nav.main{display:flex;gap:.2rem;margin-left:auto;flex-wrap:wrap}
nav.main a{padding:.45rem .75rem;border-radius:10px;font-weight:500;font-size:.95rem;position:relative}
nav.main a:hover{color:var(--brand);background:var(--surface-2)}
nav.main a.on{color:var(--brand);font-weight:600}
nav.main a.on::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.1rem;height:2px;border-radius:2px;background:var(--leaf)}
.hdr-actions{display:flex;gap:.5rem;align-items:center}
.hdr-actions form{margin:0}
.burger{display:none;margin-left:auto;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.35rem .65rem;cursor:pointer;font-size:1.1rem;color:var(--brand)}
@media (max-width:1060px){
  nav.main,.hdr-actions{display:none}.burger{display:block}
  header.site.open nav.main{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--surface);padding:.5rem 16px;border-bottom:1px solid var(--line);margin:0}
  header.site.open nav.main a.on::after{display:none}
  header.site.open .hdr-actions{display:flex;position:absolute;left:0;right:0;top:calc(100% + var(--navh,330px));background:var(--surface);padding:0 16px 1rem;border-bottom:1px solid var(--line)}
}

/* ── แจ้งเตือน ── */
.flashes{display:flex;flex-direction:column;gap:.5rem;padding-block:1rem 0}
.alert{border-radius:var(--r);padding:.75rem 1rem;border:1px solid var(--line);background:var(--surface);display:flex;gap:.6rem;align-items:start}
.alert.success{border-color:#BFE5CF;background:var(--brand-soft)}
.alert.error{border-color:#F3C9C0;background:var(--danger-soft)}
.alert.warning{border-color:#EED9A9;background:var(--amber-soft)}
.alert.info{border-color:var(--line);background:var(--surface-2)}

/* ── สไลด์หน้าแรก ── */
.hero{position:relative;overflow:hidden;color:var(--ink);background:
  radial-gradient(900px 420px at 85% -10%,#C9EEDB 0,transparent 60%),
  radial-gradient(700px 380px at -10% 110%,#E3F6EC 0,transparent 60%),
  linear-gradient(180deg,#F1FAF5 0,#FFFFFF 100%)}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(20,164,108,.13) 1.2px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 60%,transparent 100%);pointer-events:none}
.slides{position:relative;min-height:470px}
.slide{position:absolute;inset:0;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2.5rem;padding-block:3.5rem 6.5rem;opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease;pointer-events:none;visibility:hidden}
.slide.on{opacity:1;transform:none;pointer-events:auto;position:relative;visibility:visible}
.slide .txt{min-width:0}
.slide .tag{display:inline-flex;font-size:.78rem;font-weight:600;border-radius:999px;padding:.15rem .7rem;background:var(--brand-soft);color:var(--brand);margin-bottom:1rem}
.slide h1,.slide h2{font-size:clamp(2rem,4.3vw,3.2rem);font-weight:700;color:var(--brand);letter-spacing:-.01em;margin-bottom:.9rem}
.slide h1 em,.slide h2 em{font-style:normal;color:var(--leaf)}
.slide p{max-width:32em;color:var(--muted);font-size:1.08rem;margin:0 0 1.6rem}
.slide .cta{display:flex;gap:.6rem;flex-wrap:wrap}
.slide .art{position:relative;display:flex;justify-content:center;min-width:0}
.art-card{position:relative;width:min(420px,100%);aspect-ratio:1.05;max-width:100%;border-radius:28px;background:linear-gradient(150deg,#1BB377 0,#0A5C3E 100%);box-shadow:0 30px 60px -30px rgba(10,92,62,.55);overflow:hidden;display:grid;place-items:center}
.art-card::before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.07);box-shadow:0 0 0 40px rgba(255,255,255,.04)}
.art-card .flower{position:relative;width:52%;aspect-ratio:1}
.art-card.photo{aspect-ratio:16/11}
.art-card.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.float{position:absolute;background:var(--surface);border-radius:14px;box-shadow:var(--shadow);padding:.6rem .85rem;font-size:.82rem;line-height:1.35;display:flex;gap:.55rem;align-items:center;z-index:1}
.float b{display:block;font-size:.95rem;color:var(--ink)}
.float small{color:var(--muted)}
.float i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-style:normal;flex:none}
.float.f1{left:-4%;top:14%}.float.f2{right:-2%;bottom:16%}
/* สไลด์ที่มีรูป: แบนเนอร์เต็มกรอบ แสดงภาพครบไม่ตัด ช่องว่างเติมด้วยภาพเดียวกันแบบเบลอ (ขนาดที่พอดี 1920×600) */
.slide.banner{display:block;padding-block:2rem 7.4rem}
.banner-img{position:relative;display:block;width:100%;max-width:100%;aspect-ratio:16/5;max-height:440px;border-radius:24px;overflow:hidden;background:var(--brand-soft);box-shadow:0 24px 50px -28px rgba(10,92,62,.5)}
.banner-img .bg{position:absolute;inset:-30px;width:calc(100% + 60px);height:calc(100% + 60px);max-width:none;object-fit:cover;filter:blur(26px) saturate(1.15);opacity:.75}
.banner-img .fg{position:relative;display:block;width:100%;height:100%;object-fit:contain}
a.banner-img:hover{box-shadow:0 28px 56px -26px rgba(10,92,62,.6)}
@media (max-width:820px){.slide.banner{padding-block:1.25rem 7rem}.banner-img{aspect-ratio:16/7;border-radius:18px}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-ctrl{position:absolute;left:0;right:0;bottom:5.2rem;z-index:2}
.hero-ctrl .wrap{display:flex;align-items:center;gap:1rem}
.dots{display:flex;gap:.45rem}
.dots button{width:28px;height:6px;border-radius:3px;border:0;background:#C6E2D3;cursor:pointer;padding:0;position:relative;overflow:hidden;transition:width .2s}
.dots button.on{width:44px}
.dots button.on::after{content:"";position:absolute;inset:0;background:var(--brand);transform-origin:left;animation:fill 6s linear forwards}
.dots.paused button.on::after{animation-play-state:paused}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.arrows{margin-left:auto;display:flex;gap:.4rem}
.arrows button{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--brand);cursor:pointer;display:grid;place-items:center}
.counter{font-family:var(--f-mono);font-size:.8rem;color:var(--muted)}
@media (max-width:820px){.slide{grid-template-columns:1fr;padding-block:2.25rem 6.5rem}.slide .art{display:none}.slides{min-height:400px}}

/* ── บริการด่วน (ลอยทับขอบ hero) ── */
.quick{position:relative;z-index:3;margin-top:-4.2rem}
.qgrid{display:grid;grid-template-columns:repeat(6,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.qs{display:flex;flex-direction:column;gap:.55rem;padding:1.15rem 1rem;border-right:1px solid var(--line);min-width:0;transition:background .15s}
.qs:last-child{border-right:0}
.qs:hover{background:var(--surface-2)}
.qs .qi{width:42px;height:42px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;transition:background .15s,color .15s}
.qs:hover .qi{background:var(--brand);color:#fff}
.qs b{display:block;font-size:.96rem;line-height:1.3}
.qs small{display:block;color:var(--muted);font-size:.76rem;line-height:1.35;margin-top:.1rem}
@media (max-width:980px){.qgrid{grid-template-columns:repeat(3,1fr)}.qs:nth-child(3){border-right:0}.qs:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media (max-width:520px){.qgrid{grid-template-columns:repeat(2,1fr)}.qs{border-bottom:1px solid var(--line)}.qs:nth-child(3){border-right:1px solid var(--line)}.qs:nth-child(even){border-right:0}}

section.block{padding-block:4rem}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.6rem;flex-wrap:wrap}
.sec-head h2{font-size:clamp(1.55rem,2.6vw,2.1rem);margin-top:.35rem}
.sec-head p{margin:.25rem 0 0;color:var(--muted)}

/* ── ข่าว ── */
.news-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2rem}
@media (max-width:960px){.news-grid{grid-template-columns:1fr}}
.tabs{display:inline-flex;gap:.25rem;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:4px;margin-bottom:1.25rem;max-width:100%;overflow-x:auto}
.tabs a,.tabs button{border:0;background:transparent;padding:.5rem 1rem;border-radius:10px;cursor:pointer;font-weight:600;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:.4rem}
.tabs [aria-selected="true"],.tabs a.on{background:var(--surface);color:var(--brand);box-shadow:0 1px 3px rgba(10,92,62,.12)}
.tabs .n{font-family:var(--f-mono);font-size:.72rem;color:var(--leaf)}
.panel{display:none}.panel.on{display:block}
.feature{display:grid;grid-template-columns:1fr 1.05fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:1rem;transition:box-shadow .15s}
.feature:hover{box-shadow:var(--shadow)}
.feature .ph{min-height:230px}
.feature .ph img{width:100%;height:100%;object-fit:cover;display:block}
.feature .ph img.flower{width:46%;height:auto;object-fit:contain}
.feature .body{padding:1.4rem;display:flex;flex-direction:column;gap:.55rem;min-width:0}
.feature h3{font-size:1.3rem}
.feature p{margin:0;color:var(--muted)}
@media (max-width:640px){.feature{grid-template-columns:1fr}}
.ph{background:linear-gradient(140deg,#DFF5E9,#BFE9D3);position:relative;display:grid;place-items:center;color:var(--brand)}
.ph .flower{width:96px;height:96px}
.meta{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.row{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.95rem 1.15rem;border-bottom:1px solid var(--line);transition:background .15s}
.row:last-child{border-bottom:0}
a.row:hover{background:var(--surface-2)}
.date{display:grid;place-content:center;width:56px;height:56px;border-radius:14px;background:var(--surface-2);line-height:1.1;text-align:center}
.date b{display:block;font-family:var(--f-display);font-size:1.35rem;color:var(--brand)}
.date small{font-size:.68rem;color:var(--muted)}
.row h4{font-size:1rem;font-weight:600;font-family:var(--f-body);line-height:1.45}
.row .sub{font-size:.8rem;color:var(--muted);display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.15rem}
.row .end{display:flex;flex-direction:column;align-items:end;gap:.3rem}
@media (max-width:560px){.row{grid-template-columns:56px minmax(0,1fr)}.row .end{grid-column:2;flex-direction:row;align-items:center}}
.empty{padding:2rem 1rem;text-align:center;color:var(--muted)}

.side{display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem;min-width:0}
.card h3{font-size:1.05rem;margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}
.card h3 > .ico{color:var(--leaf)}
.doc-row{display:flex;gap:.7rem;align-items:start;padding-block:.6rem;border-top:1px solid var(--line);font-size:.9rem}
.doc-row:first-of-type{border-top:0}
.doc-row:hover span:last-child{color:var(--brand)}
.ext{font-family:var(--f-mono);font-size:.66rem;background:var(--danger-soft);color:var(--danger);border-radius:6px;padding:.1rem .35rem;margin-top:.15rem;text-transform:uppercase}
.ext.docx{background:#E8EEF8;color:#2B579A}.ext.xlsx{background:#E3F2E9;color:#217346}
.info-row{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;border-top:1px dashed var(--line);font-size:.92rem}
.info-row:first-of-type{border-top:0}
.info-row b{font-variant-numeric:tabular-nums}
.callout{margin-top:.9rem;background:var(--danger-soft);border-radius:14px;padding:.75rem .9rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.callout span{font-size:.85rem;color:var(--danger)}
.callout b{font-family:var(--f-mono);font-size:1.5rem;color:var(--danger)}

/* ── แคมเปญหน้าแรก ── */
.campaign{background:var(--surface-2);border-block:1px solid var(--line)}
.campaign .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2rem;align-items:center;padding-block:2.4rem}
.cal{width:104px;border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow);text-align:center;font-family:var(--f-display)}
.cal span{display:block;background:var(--brand);color:#fff;font-size:.82rem;padding:.3rem}
.cal b{display:block;font-size:2.8rem;line-height:1.1;color:var(--brand);padding-top:.2rem}
.cal small{display:block;color:var(--muted);font-size:.78rem;padding-bottom:.45rem}
.campaign h2{font-size:1.6rem;margin:.3rem 0}
.campaign p{margin:0;color:var(--muted)}
.campaign .act{display:flex;flex-direction:column;gap:.75rem;align-items:start}
.countdown{display:flex;gap:.5rem}
.countdown div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.45rem .65rem;text-align:center;min-width:64px}
.countdown b{display:block;font-family:var(--f-mono);font-size:1.45rem;color:var(--brand)}
.countdown small{font-size:.7rem;color:var(--muted)}
@media (max-width:860px){.campaign .wrap{grid-template-columns:1fr;gap:1rem}}

/* ── วิดีโอ ── */
.vid-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.25rem}
@media (max-width:860px){.vid-grid{grid-template-columns:1fr}}
.player{border-radius:22px;overflow:hidden;background:linear-gradient(150deg,#1FB57B,#0A5C3E 70%);color:#fff;position:relative;aspect-ratio:16/9;max-width:100%;display:block}
.player video,.player iframe{width:100%;height:100%;display:block;border:0;background:#000}
.player .poster{position:absolute;inset:0}
.player .poster::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(255,255,255,.22),transparent 45%)}
.player .poster img{width:100%;height:100%;object-fit:cover}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:78px;height:78px;border-radius:50%;background:#fff;color:var(--brand);display:grid;place-items:center;border:0;cursor:pointer;box-shadow:0 0 0 12px rgba(255,255,255,.2)}
.play .ico{width:30px;height:30px}
.player .cap{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:1.1rem 1.3rem;background:linear-gradient(transparent,rgba(4,40,26,.78));pointer-events:none}
.player .cap h3{font-size:1.2rem;color:#fff}
.player .cap small{color:#fff;opacity:.85}
.vlist{display:flex;flex-direction:column;gap:.5rem}
.vitem{display:grid;grid-template-columns:132px minmax(0,1fr);gap:.8rem;padding:.5rem;border-radius:16px;border:1px solid transparent;align-items:center}
.vitem:hover,.vitem.on{background:var(--surface-2);border-color:var(--line)}
.thumb{aspect-ratio:16/9;border-radius:12px;position:relative;max-width:100%;overflow:hidden;background:linear-gradient(150deg,#7FD6AA,#178A5B)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .dur{position:absolute;right:6px;bottom:6px;background:rgba(4,40,26,.8);color:#fff;font-family:var(--f-mono);font-size:.68rem;border-radius:6px;padding:0 .35rem}
.vitem b{font-size:.93rem;line-height:1.4;display:block}
.vitem small{color:var(--muted);font-size:.76rem}
.vcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.vcard{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.vcard .thumb{border-radius:16px}
.vcard b{line-height:1.4}

/* ── สถิติ ── */
.stats{background:var(--surface-2);border-top:1px solid var(--line)}
.stat-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:1.5rem;align-items:start}
@media (max-width:920px){.stat-grid{grid-template-columns:1fr}}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-content:start}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1rem 1.15rem;min-width:0}
.tile small{color:var(--muted);font-size:.8rem;display:flex;align-items:center;gap:.4rem}
.tile b{display:block;font-family:var(--f-mono);font-size:1.7rem;font-weight:500;margin-top:.1rem;font-variant-numeric:tabular-nums}
.tile .d{font-size:.75rem;color:var(--muted)}
.tile .d.up{color:var(--leaf);font-weight:600}
.tile.total{grid-column:1/-1;background:linear-gradient(135deg,var(--brand),#118457);border:0;color:#fff;position:relative;overflow:hidden}
.tile.total small,.tile.total .d{color:#CFF1DE}
.tile.total b{font-size:2.6rem}
.tile.total::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.08)}
.live{width:8px;height:8px;border-radius:50%;background:var(--leaf);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(20,164,108,.55)}100%{box-shadow:0 0 0 10px rgba(20,164,108,0)}}
.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.2rem;display:flex;flex-direction:column;min-width:0}
.chart-card .top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}
.chart{width:100%;height:auto;display:block}
.chart text{fill:var(--muted);font-family:var(--f-mono);font-size:10px}
.chart .end-label{fill:var(--ink)}
.legend{display:flex;gap:1.2rem;font-size:.8rem;color:var(--muted);margin-top:.4rem;flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.35rem;vertical-align:-1px}
.src-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-top:1rem}
.src-bars div{font-size:.78rem;color:var(--muted);min-width:0}
.src-bars b{display:block;color:var(--ink);font-family:var(--f-mono);font-size:.95rem}
.src-bars span{display:block;height:5px;border-radius:3px;background:var(--surface-2);margin-top:.3rem;overflow:hidden}
.src-bars span i{display:block;height:100%;background:var(--leaf);border-radius:3px}
@media (max-width:520px){.src-bars{grid-template-columns:repeat(3,1fr)}}

/* ── สมาชิก ── */
.member{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;border-radius:26px;padding:2.2rem 2.4rem;color:#fff;background:
  radial-gradient(500px 220px at 100% 0,rgba(155,231,192,.35),transparent 60%),linear-gradient(135deg,var(--brand),#0F7A50)}
.member h2{color:#fff;font-size:1.65rem}
.member p{margin:.35rem 0 0;color:#D6F3E3}
.member ul{display:flex;gap:1.2rem;flex-wrap:wrap;padding:0;margin:.9rem 0 0;list-style:none;font-size:.9rem}
.member li{display:flex;gap:.35rem;align-items:center}
.member li::before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.18);font-size:.7rem}
@media (max-width:700px){.member{grid-template-columns:1fr;padding:1.6rem}}

/* ── ส่วนท้าย ── */
footer.site{background:var(--hero-a);color:#DCEFE4;padding-block:3rem 1.5rem;margin-top:4rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.foot h4{font-size:.98rem;margin-bottom:.75rem;color:var(--lamduan)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}
.foot ul a{opacity:.85}.foot ul a:hover{opacity:1;text-decoration:underline}
.foot p{margin:0;font-size:.9rem;opacity:.85}
.foot .logo b{color:#fff}.foot .logo small{color:#B9DCC9}
.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;opacity:.75}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot{grid-template-columns:1fr}}

/* ── หน้าภายใน ── */
.page-head{background:radial-gradient(700px 260px at 90% -20%,#C9EEDB 0,transparent 60%),linear-gradient(180deg,#F1FAF5,#FFFFFF);border-bottom:1px solid var(--line);padding-block:2.4rem 2rem}
.page-head h1{font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--brand)}
.crumb{font-size:.82rem;color:var(--muted);margin-bottom:.5rem;display:flex;gap:.4rem;flex-wrap:wrap}
.crumb a{color:var(--leaf)}.crumb a:hover{text-decoration:underline}
.page-head .meta{margin-top:.6rem}
.layout-2{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;padding-block:2.5rem}
@media (max-width:960px){.layout-2{grid-template-columns:1fr}}
.article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,2.25rem);min-width:0}
.article .cover{border-radius:14px;margin-bottom:1.5rem;width:100%}
.prose{max-width:68ch;overflow-wrap:anywhere}
.prose h2{font-size:1.4rem;margin:1.6em 0 .5em;color:var(--brand)}
.prose h3{font-size:1.15rem;margin:1.4em 0 .4em}
.prose p{margin:0 0 1em}
.prose ul{padding-left:1.3em;margin:0 0 1em}
.prose li{margin-bottom:.3em}
.prose li::marker{color:var(--leaf)}
.prose a{color:var(--leaf);text-decoration:underline}
.prose :first-child{margin-top:0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;margin-bottom:1.5rem}
.facts div{background:var(--surface-2);border-radius:14px;padding:.8rem 1rem}
.facts small{display:block;color:var(--muted);font-size:.78rem}
.facts b{font-size:1.02rem;color:var(--brand)}
.attach{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}
.attach a{display:flex;gap:.75rem;align-items:center;padding:.75rem .95rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.attach a:hover{border-color:var(--leaf);background:var(--surface-2)}
.attach .nm{flex:1;min-width:0;overflow-wrap:anywhere}
.share{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line);align-items:center}

.search-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}
.search-bar input{flex:1;min-width:200px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:.55rem 1rem}
.pager{display:flex;gap:.35rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}
.pager a,.pager span{min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-family:var(--f-mono);font-size:.85rem;padding-inline:.6rem}
.pager a:hover{background:var(--surface-2)}
.pager .on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}

/* ── ฟอร์ม ── */
.form-wrap{max-width:520px;margin:2.5rem auto;padding-inline:16px}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(1.25rem,4vw,2rem);box-shadow:var(--shadow)}
.form-card h1{font-size:1.5rem;margin-bottom:.25rem;color:var(--brand)}
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem;min-width:0}
.field label,.label{font-size:.88rem;font-weight:600}
.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.6rem .8rem;width:100%;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--leaf);box-shadow:0 0 0 3px var(--brand-soft)}
.field textarea{min-height:120px;resize:vertical}
.field .hint{font-size:.78rem;color:var(--muted)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media (max-width:480px){.two{grid-template-columns:1fr}}
.check{display:flex;gap:.6rem;align-items:start;font-size:.9rem;margin-bottom:1rem}
.check input{width:18px;height:18px;margin-top:.2rem;flex:none;accent-color:var(--brand)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.note{font-size:.8rem;color:var(--muted)}
.otp{font-family:var(--f-mono);font-size:1.6rem!important;letter-spacing:.4em;text-align:center}

table.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th,.tbl td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-size:.8rem;color:var(--muted);font-weight:600;background:var(--surface-2)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}

/* ── หน้าแคมเปญ One Page ── */
.c-hero{position:relative;color:#fff;background:linear-gradient(135deg,var(--brand),var(--hero-b));overflow:hidden}
.c-hero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}
.c-hero .wrap{position:relative;padding-block:4rem 3.5rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}
.c-hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:18em;color:#fff}
.c-hero p{font-size:1.1rem;color:#D6F3E3;max-width:38em;margin:.75rem 0 0}
.c-hero .countdown div{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
.c-hero .countdown b{color:#fff}
.c-hero .countdown small{color:#D6F3E3}
@media (max-width:760px){.c-hero .wrap{grid-template-columns:1fr}}
.c-facts{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.95rem}
.c-facts b{display:block;color:var(--lamduan);font-size:.78rem;letter-spacing:.05em}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
