/* ==== css/102-situation-weather.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ================================================================
   TNH Situation Center v4 — ธีมป่าทึบ · จัดหน้าใหม่ให้อ่านง่าย/เลื่อนง่าย
   ลำดับ: หัว (ติดบน) → เส้นทาง (1 บรรทัด) → ผลสรุป → [จุดตรวจ | แผนที่]
   ================================================================ */
#tnhSituationOverlay{
  --sx-glass:rgba(4,14,18,.80);
  --sx-glass2:rgba(6,20,22,.90);
  --sx-line:rgba(105,170,151,.16);
  --sx-line2:rgba(105,170,151,.30);
  --sx-text:#ecfdf5;
  --sx-muted:#94ada5;
  --sx-accent:#34d399;
  --sx-ok:#34d399;--sx-watch:#ffb347;--sx-risk:#ff5a6e;
  display:none;position:fixed;inset:0;z-index:12000;
  overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  color:var(--sx-text);
  background:
    radial-gradient(circle at 92% 2%,rgba(31,122,105,.14),transparent 30%),
    radial-gradient(circle at 0 78%,rgba(22,90,72,.10),transparent 27%),
    linear-gradient(180deg,rgba(3,12,18,.84),rgba(2,10,15,.97)),
    var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-1800.jpg')) center top/cover no-repeat fixed;
  background-color:var(--tnh-forest-base,#030b0d);
}
#tnhSituationOverlay.open{display:block}
html.sx-lock,html.sx-lock body{overflow:hidden}
.sx-shell{max-width:640px;margin:0 auto;padding:0 14px calc(env(safe-area-inset-bottom,0px) + 28px)}
.sx-shell button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sx-shell [hidden]{display:none!important}

/* ---------- หัว (ติดด้านบนตอนเลื่อน) ---------- */
.sx-head{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;
  margin:0 -14px 12px;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;
  background:linear-gradient(180deg,rgba(3,11,13,.96),rgba(3,11,13,.86));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--sx-line)}
.sx-icbtn{height:40px;border:1px solid var(--sx-line2);border-radius:13px;background:var(--sx-glass);color:#d1fae5;font-size:20px;line-height:1}
.sx-head div{text-align:center;min-width:0}
.sx-head b{display:block;font-size:17px}
.sx-head small{display:block;color:var(--sx-muted);font-size:11px;margin-top:1px}

/* ---------- ฟอร์มเส้นทาง (เปิดตลอด แบบเดิม) ---------- */
.sx-plan{padding:14px;border:1px solid var(--sx-line2);border-radius:20px;background:var(--sx-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 40px rgba(0,0,0,.35);margin-bottom:12px}
.sx-plan-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}
.sx-plan-title b{font-size:14px}
.sx-plan-title small{font-size:10.5px;color:var(--sx-muted);text-align:right}
#sxRouteForm{display:grid;grid-template-columns:1fr 42px;grid-template-areas:"f s" "t s" "g g";gap:8px;align-items:stretch}
#sxRouteForm .sx-field:first-child{grid-area:f}
#sxRouteForm .sx-field:nth-of-type(2){grid-area:t}
.sx-swap{grid-area:s;border:1px solid var(--sx-line2);border-radius:12px;background:rgba(52,211,153,.08);color:#a7f3d0;font-size:18px}
.sx-go{grid-area:g;height:46px;border:0;border-radius:13px;background:linear-gradient(135deg,#34d399,#10b981);color:#022c22;font-size:15px;font-weight:900;box-shadow:0 8px 22px rgba(16,185,129,.25)}
.sx-go:disabled{opacity:.6}
.sx-field{position:relative}
.sx-field .dot{position:absolute;left:13px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%}
.sx-field .dot.from{background:#6ee7b7;box-shadow:0 0 0 3px rgba(110,231,183,.18)}
.sx-field .dot.to{background:#fbbf24;box-shadow:0 0 0 3px rgba(251,191,36,.18)}
.sx-field input{width:100%;box-sizing:border-box;height:46px;padding:0 12px 0 32px;border:1px solid var(--sx-line2);border-radius:13px;background:rgba(2,10,13,.75);color:var(--sx-text);font-size:16px;font-family:inherit;outline:none}
.sx-field input::placeholder{color:#5f7a72}
.sx-field input:focus{border-color:rgba(52,211,153,.6);box-shadow:0 0 0 3px rgba(52,211,153,.14)}

/* ---------- ผลสรุป ---------- */
.sx-hero{display:flex;gap:13px;align-items:center;padding:15px;border-radius:20px;border:1px solid var(--sx-line2);background:var(--sx-glass);margin-bottom:12px}
.sx-hero-ico{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:15px;font-size:24px;font-weight:900;background:rgba(255,255,255,.06)}
.sx-hero-txt{min-width:0;flex:1}
.sx-hero-txt b{display:block;font-size:18px;line-height:1.3}
.sx-hero-txt small{display:block;font-size:11.5px;color:var(--sx-muted);margin-top:3px;line-height:1.5}
.sx-hero.ok{border-color:rgba(52,211,153,.4);background:linear-gradient(135deg,rgba(16,80,58,.55),var(--sx-glass) 70%)}
.sx-hero.ok .sx-hero-ico{background:rgba(52,211,153,.18);color:#6ee7b7}
.sx-hero.watch{border-color:rgba(255,179,71,.45);background:linear-gradient(135deg,rgba(110,70,10,.5),var(--sx-glass) 70%)}
.sx-hero.watch .sx-hero-ico{background:rgba(255,179,71,.18);color:#ffc978}
.sx-hero.risk{border-color:rgba(255,90,110,.5);background:linear-gradient(135deg,rgba(120,20,35,.55),var(--sx-glass) 70%)}
.sx-hero.risk .sx-hero-ico{background:rgba(255,90,110,.2);color:#ff8a99}
.sx-hero.err .sx-hero-ico{background:rgba(255,90,110,.15);color:#ff8a99}
.sx-counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.sx-counts span{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:800;background:rgba(255,255,255,.06)}
.sx-counts .ok{color:#6ee7b7;background:rgba(52,211,153,.12)}
.sx-counts .watch{color:#ffc978;background:rgba(255,179,71,.13)}
.sx-counts .risk{color:#ff8a99;background:rgba(255,90,110,.14)}

/* ---------- แท็บ จุดตรวจ | แผนที่ ---------- */
.sx-seg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px;margin-bottom:12px;border:1px solid var(--sx-line);border-radius:15px;background:rgba(2,10,13,.7)}
.sx-seg button{height:40px;padding:0 4px;border:0;border-radius:11px;background:transparent;color:var(--sx-muted);font-size:13px;font-weight:800;white-space:nowrap}
.sx-seg button.on{background:var(--sx-accent);color:#022c22;box-shadow:0 4px 14px rgba(52,211,153,.25)}
.sx-seg em{font-style:normal;margin-left:5px;padding:1px 7px;border-radius:999px;background:rgba(0,0,0,.18);font-size:11px}
.sx-seg em:empty{display:none}

/* ---------- รายการจุด (แบบไทม์ไลน์) ---------- */
.sx-list{list-style:none;margin:0;padding:6px 0;border:1px solid var(--sx-line);border-radius:18px;background:var(--sx-glass)}
.sx-stop>button{width:100%;display:flex;gap:12px;padding:0 14px 0 12px;border:0;background:transparent;color:inherit;text-align:left}
.sx-rail{position:relative;flex:none;width:14px;display:flex;justify-content:center}
.sx-rail::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:rgba(110,231,183,.22)}
.sx-stop:first-child .sx-rail::before{top:22px}
.sx-stop:last-child .sx-rail::before{bottom:calc(100% - 22px)}
.sx-rail i{position:relative;z-index:1;width:12px;height:12px;margin-top:16px;border-radius:50%;border:2px solid #06130f}
.sx-stop.from .sx-rail i,.sx-stop.to .sx-rail i{width:14px;height:14px;margin-top:15px;border-color:#fff}
.sx-stop.risk .sx-rail i{box-shadow:0 0 12px rgba(255,90,110,.9)}
.sx-stop-body{flex:1;min-width:0;padding:11px 0 12px;border-bottom:1px solid rgba(255,255,255,.05)}
.sx-stop:last-child .sx-stop-body{border-bottom:0}
.sx-stop-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sx-stop-top b{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sx-why{display:block;margin-top:4px;font-size:12.5px;line-height:1.45;color:#d6ebe3}
.sx-why.minor{font-size:11.5px;color:var(--sx-muted)}
.sx-stop-top+.sx-why.minor{margin-top:3px}
.sx-stop:active .sx-stop-body{opacity:.7}
.sx-pill{flex:none;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.sx-pill.ok{background:rgba(52,211,153,.14);color:#6ee7b7}
.sx-pill.watch{background:rgba(255,179,71,.16);color:#ffc978}
.sx-pill.risk{background:rgba(255,90,110,.2);color:#ff8a99}
.sx-pill.na{background:rgba(255,255,255,.07);color:#9aa9a4}
.sx-skel{height:62px;margin-bottom:8px;border-radius:14px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.08),rgba(255,255,255,.04));background-size:200% 100%;animation:sxSkel 1.2s linear infinite}
@keyframes sxSkel{to{background-position:-200% 0}}
.sx-note{margin-top:10px;padding:11px 13px;border-radius:14px;background:rgba(56,189,248,.07);border:1px solid rgba(56,189,248,.18);font-size:11.5px;line-height:1.55;color:#bfe3f2}
.sx-source{margin-top:10px;padding:0 13px;border-radius:14px;background:var(--sx-glass);border:1px solid var(--sx-line)}
.sx-source summary{padding:12px 0;font-size:12.5px;font-weight:800;color:#c7e9dc;cursor:pointer;list-style:none}
.sx-source summary::-webkit-details-marker{display:none}
.sx-source summary::after{content:'›';float:right;transition:transform .2s;color:var(--sx-muted)}
.sx-source[open] summary::after{transform:rotate(90deg)}
.sx-source p{margin:0 0 12px;font-size:11px;line-height:1.65;color:var(--sx-muted)}
.sx-source p b{color:#d6ebe3}
.sx-spin{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(52,211,153,.25);border-top-color:var(--sx-accent);border-radius:50%;animation:sxSpin .8s linear infinite}
@keyframes sxSpin{to{transform:rotate(360deg)}}

/* ---------- แผนที่ (แท็บแยก สูงพอดีจอ ไม่แย่งการเลื่อนหน้า) ---------- */
.sx-mapbox{position:relative;height:calc(100vh - 170px);height:calc(100dvh - 170px);min-height:360px;max-height:760px;overflow:hidden;border:1px solid var(--sx-line2);border-radius:20px;background:#06110f;box-shadow:0 18px 44px rgba(0,0,0,.45)}
#tnhSituationMap{position:absolute;inset:0;background:#06110f}
.sx-mapbox .leaflet-tile-pane .leaflet-layer:first-child{filter:saturate(.75) brightness(.62) contrast(1.15) hue-rotate(-8deg)}
.sx-mapbox .leaflet-control-attribution{background:rgba(2,10,13,.6)!important;color:#7b958c!important;font-size:8px!important}
.sx-mapbox .leaflet-control-attribution a{color:#9ccfbd!important}
.sx-mapbox .leaflet-top.leaflet-right{top:52px}
.sx-mapbox .leaflet-bar{border:1px solid var(--sx-line2)!important;border-radius:12px!important;overflow:hidden}
.sx-mapbox .leaflet-bar a{width:36px!important;height:36px!important;line-height:36px!important;background:var(--sx-glass2);color:#d1fae5;border-color:var(--sx-line)}
.sx-mapbox .leaflet-popup-content-wrapper,.sx-mapbox .leaflet-popup-tip{background:#07161a;color:var(--sx-text);border:1px solid var(--sx-line2)}
.sx-mapbox .leaflet-popup-content{font-family:inherit;font-size:12.5px;line-height:1.55;margin:10px 12px}
.sx-mapbox .leaflet-popup-content small{color:#a7c4ba}
.sx-flood-tiles{filter:drop-shadow(0 0 1px rgba(56,189,248,.8))}
.sx-chips{position:absolute;z-index:800;left:10px;right:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;pointer-events:none}
.sx-chips>*{pointer-events:auto}
.sx-chip{height:34px;padding:0 12px;border:1px solid var(--sx-line2);border-radius:999px;background:var(--sx-glass2);color:var(--sx-muted);font-size:12.5px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.sx-chip.on{background:#0f3b2d;border-color:rgba(52,211,153,.7);color:#a7f3d0}
#sxChipFlood.on{background:#0c3346;border-color:rgba(56,189,248,.7);color:#bae6fd}
.sx-chip:disabled{opacity:.45}
.sx-range{display:inline-flex;height:34px;padding:3px;gap:2px;border:1px solid rgba(56,189,248,.35);border-radius:999px;background:var(--sx-glass2)}
.sx-range button{min-width:34px;border:0;border-radius:999px;background:transparent;color:#8fb3c2;font-size:11.5px;font-weight:800}
.sx-range button.on{background:rgba(56,189,248,.25);color:#e0f2fe}
.sx-fit{position:absolute;z-index:800;right:10px;bottom:146px;width:38px;height:38px;border:1px solid var(--sx-line2);border-radius:12px;background:var(--sx-glass2);color:#d1fae5;font-size:17px}
.sx-mapbar{position:absolute;z-index:800;left:8px;right:8px;bottom:18px;padding:8px 10px;border-radius:15px;border:1px solid var(--sx-line2);background:rgba(3,12,14,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sx-time{display:flex;align-items:center;gap:10px}
.sx-time>button{width:34px;height:34px;flex:none;border:0;border-radius:50%;background:var(--sx-accent);color:#022c22;font-size:12px;font-weight:900}
.sx-time input{flex:1;min-width:0;accent-color:var(--sx-accent)}
.sx-time span{flex:none;min-width:52px;text-align:right;font-size:11.5px;font-weight:700;color:#c7e9dc}
.sx-legend{display:flex;flex-wrap:wrap;gap:4px 11px;margin-top:6px;font-size:10.5px;color:#b6cdc5}
.sx-legend span{display:flex;align-items:center;gap:4px}
.sx-legend i{width:8px;height:8px;border-radius:50%}
.sx-legend .ok{background:var(--sx-ok)}.sx-legend .watch{background:var(--sx-watch)}.sx-legend .risk{background:var(--sx-risk)}
.sx-legend .flood{background:#38bdf8;border-radius:2px}
.sx-windy{display:flex;align-items:center;justify-content:center;gap:6px;height:38px;margin-top:8px;border-radius:11px;border:1px solid rgba(56,189,248,.45);background:linear-gradient(135deg,rgba(14,74,110,.85),rgba(8,40,60,.9));color:#e0f2fe;font-size:13px;font-weight:800;text-decoration:none}
.sx-windy span{font-size:14px;opacity:.8}
.sx-windy:active{transform:scale(.98)}
.sx-maphint{display:block;margin:8px 4px 0;font-size:11px;color:var(--sx-muted);text-align:center}
.sx-maphint:empty{display:none}




/* ---------- แจ้งเหตุจากผู้ใช้ ---------- */
.sx-report-cta{width:100%;display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px 13px;border:1px solid rgba(255,179,71,.35);border-radius:18px;background:linear-gradient(135deg,rgba(90,52,8,.55),rgba(4,14,18,.85) 70%);color:inherit;text-align:left}
.sx-cta-ico{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:13px;background:rgba(255,179,71,.16);font-size:20px}
.sx-cta-txt{flex:1;min-width:0}
.sx-cta-txt b{display:block;font-size:14.5px}
.sx-cta-txt small{display:block;font-size:11px;color:#d9c4a3;margin-top:1px}
.sx-cta-go{flex:none;padding:8px 13px;border-radius:999px;background:#ffb347;color:#2b1700;font-size:12.5px;font-weight:900}
.sx-rhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 10px}
.sx-rhead b{display:block;font-size:15px}
.sx-rhead small{display:block;font-size:10.5px;color:var(--sx-muted);margin-top:1px}
.sx-rnew{flex:none;height:36px;padding:0 14px;border:0;border-radius:999px;background:#ffb347;color:#2b1700;font-size:13px;font-weight:900}
.sx-rcard{margin-bottom:9px;border:1px solid var(--sx-line);border-radius:16px;background:var(--sx-glass);overflow:hidden}
.sx-rcard.closed,.sx-rcard.landslide{border-color:rgba(255,90,110,.35)}
.sx-rmain{width:100%;display:flex;gap:11px;padding:12px 13px 8px;border:0;background:transparent;color:inherit;text-align:left}
.sx-rico{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.07);font-size:19px}
.sx-rbody{flex:1;min-width:0}
.sx-rtop{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sx-rtop b{font-size:14.5px}
.sx-near{font-style:normal;padding:2px 8px;border-radius:999px;background:rgba(255,179,71,.18);color:#ffc978;font-size:10.5px;font-weight:800}
.sx-rplace{display:block;margin-top:3px;font-size:13px;color:#e2f3ec}
.sx-rnote{display:block;margin-top:3px;font-size:12.5px;color:#c4d9d1;line-height:1.45}
.sx-rtime{display:block;margin-top:4px;font-size:10.5px;color:var(--sx-muted)}
.sx-ract{display:flex;gap:6px;padding:0 13px 11px 62px}
.sx-ract button{height:32px;padding:0 11px;border:1px solid var(--sx-line2);border-radius:999px;background:rgba(2,10,13,.5);color:#c7e9dc;font-size:12px;font-weight:700}
.sx-ract button b{margin-left:2px;color:#fff}
.sx-ract .del{margin-left:auto;padding:0 10px}
.sx-rmsg{padding:0 13px 0 62px;font-size:11.5px;color:#ffc978}
.sx-rmsg:not(:empty){padding-bottom:10px}
.sx-linkbtn{margin-left:4px;padding:3px 10px;border:0;border-radius:999px;background:var(--sx-accent);color:#022c22;font-size:11.5px;font-weight:900}
.sx-empty small{color:var(--sx-muted)}
.sx-rpin{background:none;border:0}
.sx-rpin span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1b1206;border:2px solid #ffb347;font-size:16px;box-shadow:0 3px 10px rgba(0,0,0,.6)}
.sx-rpin.near span{border-color:#ff5a6e;box-shadow:0 0 0 4px rgba(255,90,110,.25),0 3px 10px rgba(0,0,0,.6)}
.sx-spin.sm{width:12px;height:12px;border-width:2px;vertical-align:-2px}

/* bottom sheet */
.sx-sheet{position:fixed;inset:0;z-index:12500}
.sx-sheet-bg{position:absolute;inset:0;background:rgba(0,6,8,.6);opacity:0;transition:opacity .2s}
.sx-sheet.open .sx-sheet-bg{opacity:1}
.sx-sheet-card{position:absolute;left:0;right:0;bottom:0;max-width:640px;margin:0 auto;max-height:92vh;max-height:92dvh;overflow-y:auto;padding:8px 16px calc(env(safe-area-inset-bottom,0px) + 16px);border-radius:24px 24px 0 0;border:1px solid var(--sx-line2);border-bottom:0;
  background:linear-gradient(180deg,rgba(6,20,22,.98),rgba(3,11,13,.99));box-shadow:0 -20px 50px rgba(0,0,0,.5);transform:translateY(100%);transition:transform .22s ease-out}
.sx-sheet.open .sx-sheet-card{transform:none}
.sx-sheet-grip{width:40px;height:4px;margin:0 auto 8px;border-radius:4px;background:rgba(255,255,255,.2)}
.sx-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.sx-sheet-head b{font-size:17px}
.sx-sheet-head .sx-icbtn{width:38px;height:38px}
.sx-lbl{margin:12px 2px 7px;font-size:12.5px;font-weight:800;color:#c7e9dc}
.sx-lbl small{font-weight:400;color:var(--sx-muted)}
.sx-types{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.sx-types button{display:flex;align-items:center;gap:7px;height:44px;padding:0 10px;border:1px solid var(--sx-line2);border-radius:12px;background:rgba(2,10,13,.6);color:#d6ebe3;font-size:13px;font-weight:700;text-align:left}
.sx-types button span{font-size:18px}
.sx-types button.on{border-color:#ffb347;background:rgba(255,179,71,.16);color:#fff;box-shadow:0 0 0 2px rgba(255,179,71,.25)}
.sx-gps{width:100%;height:44px;border:1px dashed rgba(52,211,153,.55);border-radius:12px;background:rgba(52,211,153,.07);color:#a7f3d0;font-size:14px;font-weight:800}
.sx-gps.on{border-style:solid;background:rgba(52,211,153,.16)}
.sx-gps-status{min-height:4px;margin:6px 2px;font-size:11.5px;color:#a7f3d0}
.sx-gps-status small{color:var(--sx-muted)}
.sx-input{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--sx-line2);border-radius:12px;background:rgba(2,10,13,.75);color:var(--sx-text);font-size:16px;font-family:inherit;outline:none;resize:none}
.sx-input:focus{border-color:rgba(52,211,153,.6);box-shadow:0 0 0 3px rgba(52,211,153,.14)}
.sx-input::placeholder{color:#5f7a72}
.sx-sheet-err{min-height:4px;margin:8px 2px;font-size:12.5px;color:#ffb3bd;line-height:1.5}
.sx-sheet-card .sx-go{width:100%}
.sx-sheet-hint{display:block;margin-top:9px;text-align:center;font-size:10.5px;color:var(--sx-muted)}

/* การ์ดเดิม (หน้าประกาศ) */
.ann-situation{margin:0 0 14px;padding:16px;border-radius:22px;background:linear-gradient(145deg,rgba(6,24,22,.92),rgba(3,12,14,.96));border:1px solid rgba(105,170,151,.2);color:#fff}
.ann-situation-top{display:flex;gap:12px;align-items:center}
.ann-situation-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:25px;background:rgba(52,211,153,.12)}
.ann-situation h3{margin:0 0 3px;font-size:18px}
.ann-situation p{margin:0;color:#9db8ae;font-size:11px}
.ann-situation button{width:100%;margin-top:12px;padding:11px;border:0;border-radius:13px;background:rgba(52,211,153,.14);color:#a7f3d0;font-weight:900}

/* ================================================================
   กล่องบนหน้าหลัก — ป่าทึบ + วงเรดาร์
   ================================================================ */
.situation-entry-card{
  background:
    radial-gradient(circle at 92% 50%,rgba(52,211,153,.20),transparent 45%),
    linear-gradient(180deg,rgba(3,12,18,.55),rgba(2,10,15,.80)),
    var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-900.jpg')) center/cover no-repeat;
  border:1px solid rgba(105,170,151,.22);
}
.situation-entry-card::after{background:linear-gradient(115deg,rgba(3,12,14,.80) 28%,rgba(3,12,14,.18) 100%)}
.situation-entry-card .calendar-entry-overlay{min-height:112px}
.situation-entry-rings{position:absolute;right:-40px;top:50%;width:190px;height:190px;transform:translateY(-50%);pointer-events:none;z-index:1}
.situation-entry-rings i{position:absolute;inset:0;border:1.5px solid rgba(110,231,183,.38);border-radius:50%;animation:sxPing 3s ease-out infinite}
.situation-entry-rings i:nth-child(2){animation-delay:1s}.situation-entry-rings i:nth-child(3){animation-delay:2s}
@keyframes sxPing{0%{transform:scale(.25);opacity:1}100%{transform:scale(1);opacity:0}}
.situation-live{display:inline-block;vertical-align:middle;margin-left:4px;padding:2px 7px;border-radius:999px;background:#ff5a6e;color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;text-shadow:none}
@media (prefers-reduced-motion:reduce){.situation-entry-rings i{animation:none;opacity:.25}}
/* ==== css/103-home-trip-explorer.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* Home trip explorer — scoped additions only. */
.hte{margin:18px 0 20px;color:#f3f8fc;font-family:inherit}
.hte button,.hte input{font:inherit}.hte button{cursor:pointer;color:inherit}
.hte-search{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border:1px solid rgba(121,199,232,.25);border-radius:16px;background:rgba(10,26,35,.78);backdrop-filter:blur(12px)}
.hte-search>span{font:28px sans-serif;color:#6fd5fa}.hte-search input{min-width:0;flex:1;width:100%;border:0;outline:0;background:none;color:#fff;font-size:13px}.hte-search input::placeholder{color:#b3c2cc}
.hte-search:focus-within{border-color:#58cfff;box-shadow:0 0 0 2px #58cfff20}

/* Popup uses the same dense forest as the site's system popups. */
.hte-panel{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));overflow:hidden}.hte-panel[hidden]{display:none}
.hte-modal-backdrop{position:absolute;inset:0;background:rgba(0,7,12,.86);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.hte-modal-card,.hte-modal-card *{box-sizing:border-box}
.hte-modal-card{position:relative;isolation:isolate;width:min(720px,100%);max-height:calc(100dvh - max(28px,env(safe-area-inset-top)) - max(28px,env(safe-area-inset-bottom)));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(81,194,229,.38);border-radius:25px;background:linear-gradient(180deg,rgba(3,12,18,.56),rgba(2,10,15,.82)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat;color:#f1f5f9;box-shadow:0 28px 90px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.05);opacity:0;transform:translateY(18px) scale(.985);transition:opacity .22s ease,transform .22s ease}
.hte-modal-card.show{opacity:1;transform:none}.hte-modal-glow{display:none}body.hte-modal-open{overflow:hidden!important}
.hte-panel-head{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:15px 48px 12px;text-align:center;border-bottom:1px solid rgba(255,255,255,.11);background:rgba(2,15,20,.44);backdrop-filter:blur(4px)}
.hte-title-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border:1px solid rgba(91,212,255,.34);border-radius:16px;background:rgba(5,46,62,.58);color:#effbff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.hte-title-icon svg,.hte-month-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hte-title-icon svg{width:27px;height:27px}.hte-search-symbol{font:34px/1 sans-serif}
.hte-title-copy{width:100%;min-width:0}.hte-panel-head h4{margin:0;color:#fff;font-size:18px;line-height:1.3}.hte-panel-head p{margin:3px 0 0;color:#c0cdd1;font-size:10px;line-height:1.45}
.hte-close,.hte-back{position:absolute;top:13px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(9,28,34,.72);color:#e8faff}.hte-close{right:13px}.hte-back{left:13px;font-size:25px!important}
.hte-panel-body{position:relative;padding:10px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:rgba(0,12,16,.08)}.hte-panel-body::after{content:"";display:block;height:2px}.hte-empty{min-height:150px;display:grid;place-items:center;text-align:center}

/* Month choices. */

/* Overview cards are scaled versions of the full-image home cards. */

#homeUpcomingDots{display:flex;justify-content:center;align-items:center;gap:7px;min-height:24px;margin:8px 0 4px}#homeUpcomingDots[hidden]{display:none}#homeUpcomingDots button{width:7px;height:7px;padding:0;border:0;border-radius:20px;background:#91aec057;cursor:pointer;transition:width .2s,background .2s}#homeUpcomingDots button.active{width:21px;background:#57cffa;box-shadow:0 0 10px #57cffa60}#homeUpcomingDots button:focus-visible{outline:2px solid #fff;outline-offset:4px}

@media(max-width:420px){.hte-panel{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.hte-modal-card{border-radius:23px}.hte-panel-head{padding:14px 44px 11px}.hte-title-icon{width:48px;height:48px;flex-basis:48px}.hte-panel-head h4{font-size:17px}.hte-panel-body{padding:9px}}
@media(min-width:900px){.hte{max-width:900px}.hte-modal-card{width:min(920px,calc(100% - 48px))}.hte-months{grid-template-columns:repeat(4,minmax(0,1fr))}.hte-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.hte-modal-card,#homeUpcomingDots button{transition:none}}


/* ===== v2: หน้าตาเดียวกับกล่องปฏิทิน/ตำแหน่งรถตู้ และการ์ดทริปหน้าหลัก ===== */
.hte-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.hte .hte-tile{display:block;width:100%;margin:0;padding:0;min-height:0;aspect-ratio:16/10;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#0d1a22;text-align:left;font:inherit;color:#fff}
.hte .hte-tile::after{background:linear-gradient(180deg,rgba(6,11,19,.12) 0%,rgba(6,11,19,.55) 45%,rgba(6,11,19,.92) 100%)}
.hte .hte-tile::before{content:'›';position:absolute;z-index:2;top:10px;right:13px;font-size:22px;font-weight:900;color:rgba(255,255,255,.85)}
.hte-tile-body{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:11px 12px 12px}
.hte-tile-icon{position:absolute;top:10px;left:10px;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(6,11,19,.55);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:19px}
.hte-tile-body strong{font-size:15.5px;font-weight:800;line-height:1.25;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.hte-tile-body small{margin-top:2px;font-size:11.5px;color:#cbd5e1;line-height:1.35;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.hte .hte-tile.active{border-color:#34d399;box-shadow:0 0 0 2px rgba(52,211,153,.35),0 8px 22px rgba(0,0,0,.3)}

/* เลือกเดือน: การ์ดรูปทริปของเดือนนั้น */
.hte-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hte-month{position:relative;display:block;width:100%;min-width:0;aspect-ratio:4/3;margin:0;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#0d1a22;color:#fff;text-align:left;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.hte-month>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hte-month::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,11,19,.1) 0%,rgba(6,11,19,.5) 45%,rgba(6,11,19,.93) 100%)}
.hte-month::before{content:'›';position:absolute;z-index:2;right:12px;bottom:12px;font-size:22px;font-weight:900;color:rgba(255,255,255,.85)}
.hte-month-cal{position:absolute;z-index:2;top:9px;left:9px;width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:rgba(6,11,19,.55);border:1px solid rgba(255,255,255,.12);color:#6ee7b7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hte-month-cal svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hte-month-past{position:absolute;z-index:2;top:12px;right:10px;padding:3px 8px;border-radius:999px;background:rgba(6,11,19,.6);border:1px solid rgba(255,255,255,.15);color:#cbd5e1;font-size:10px;font-weight:700}
.hte-month-body{position:absolute;z-index:1;left:12px;right:30px;bottom:10px;display:flex;flex-direction:column}
.hte-month-body strong{font-size:15px;font-weight:800;line-height:1.25;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.hte-month-body small{margin-top:1px;font-size:12px;color:#6ee7b7;font-weight:700}
.hte-month.past>img{filter:grayscale(.6) brightness(.8)}
.hte-month:active{transform:scale(.98)}

/* รายการทริป: การ์ดเดียวกับสไลด์หน้าหลัก เรียงลงมาทีละใบ */
.hte-list{display:grid;grid-template-columns:1fr;gap:12px}
.hte-list .trip-hcard2{width:100%!important;min-width:0!important;max-width:none!important;flex:none!important;margin:0!important;scroll-snap-align:none}
.hte-date-chip{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;padding:3px 10px;border-radius:999px;background:rgba(52,211,153,.18);border:1px solid rgba(52,211,153,.45);color:#a7f3d0;font-size:11.5px;font-weight:700}
.hte-trip-fallback{display:block;width:100%;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(10,24,22,.8);color:#fff;text-align:left}
@media(min-width:600px) and (max-width:899px){.hte-list{grid-template-columns:1fr 1fr}.hte-months{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ================= ศูนย์รวมทริป ================= */
/* กล่องศูนย์รวมทริป: แสงสีแดงวิ่งรอบขอบ + เรืองแดงวูบวาบ */
.hte .hte-tile[data-home-trip-mode="hub"]{border-color:rgba(255,70,70,.55)!important;animation:hubPulse 1.6s ease-in-out infinite}
@keyframes hubPulse{0%,100%{box-shadow:0 0 0 1px rgba(255,59,59,.25),0 0 10px rgba(255,40,40,.25)}50%{box-shadow:0 0 0 2px rgba(255,59,59,.55),0 0 22px rgba(255,40,40,.6)}}
.hub-glow{position:absolute;inset:0;z-index:3;border-radius:inherit;padding:2px;pointer-events:none;overflow:hidden;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.hub-glow::before{content:'';position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(0);
  background:conic-gradient(from 0deg,transparent 0 55%,rgba(255,40,40,.0) 58%,#ff2d2d 74%,#ffd0d0 80%,#ff2d2d 86%,transparent 92%);animation:hubSpin 2.4s linear infinite}
@keyframes hubSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* ป้าย "ใหม่" แบบป้ายเซลราคา: หัวแหลม มีรูร้อยเชือก แกว่งเบาๆ + แสงวาบ */
.hub-new{position:absolute;top:6px;right:9px;z-index:4;display:inline-block;font-style:normal;font-size:10px;font-weight:900;line-height:1;letter-spacing:.3px;color:#fff;
  padding:3px 7px 3px 12px;margin:0;overflow:hidden;border-radius:0 4px 4px 0;
  background:linear-gradient(135deg,#ff4d4d,#d90f1f);text-shadow:0 1px 0 rgba(0,0,0,.25);
  clip-path:polygon(7px 0,100% 0,100% 100%,7px 100%,0 50%);transform-origin:2px 50%;animation:hubSwing 2.4s ease-in-out infinite;
  filter:drop-shadow(0 2px 4px rgba(255,30,30,.45))}
.hub-new::before{content:'';position:absolute;left:5px;top:50%;width:3px;height:3px;margin-top:-1.5px;border-radius:50%;background:#2a0a0a}
.hub-new::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:hubShine 2.4s ease-in-out infinite}
@keyframes hubSwing{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(5deg)}}
@keyframes hubShine{0%,55%{left:-60%}85%,100%{left:130%}}
@media (max-width:899px){.hub-new{top:3px;right:6px;font-size:9px;padding:2px 5px 2px 10px;animation-name:hubSwingS}}
@keyframes hubSwingS{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.hte .hte-tile[data-home-trip-mode="hub"],.hub-glow::before,.hub-new,.hub-new::after{animation:none}}
.hub-card .hte-panel-body{padding:12px}
.hub-sec{display:flex;justify-content:space-between;align-items:baseline;margin:2px 2px 9px}
.hub-sec b{font-size:14px;color:#fff}.hub-sec small{font-size:11px;color:#5eead4;font-weight:700}
.hub-orgs{display:flex;gap:9px;margin:0 -12px 16px;padding:0 12px 2px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.hub-orgs::-webkit-scrollbar{display:none}
.hub-org{flex:0 0 112px;scroll-snap-align:start;padding:0 0 9px;border-radius:16px;overflow:hidden;background:rgba(8,20,28,.85);border:1px solid rgba(255,255,255,.1);text-align:center;color:#fff;font:inherit;cursor:pointer}
.hub-org.own{border-color:rgba(232,196,120,.55)}
.hub-org:active{transform:scale(.97)}
.hub-org-cv{display:block;height:46px;background:#10242c center/cover}
.hub-org-logo{display:grid;place-items:center;width:44px;height:44px;margin:-22px auto 0;position:relative;border-radius:50%;border:2px solid #0b1620;background:#123 center/cover;font-weight:800;font-size:17px}
.hub-initial{background:linear-gradient(145deg,#7dd3fc,#0369a1)!important;color:#fff}
.hub-org b{display:block;margin-top:5px;padding:0 6px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-org small{display:block;font-size:10px;color:#93a8b1;margin-top:1px}
.hub-vf{display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#5eead4;color:#05232a;font-size:8.5px;font-weight:900;vertical-align:1px}
.hub-chips{display:flex;gap:6px;margin-bottom:10px}
.hub-chip{font:inherit;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:10px;background:rgba(8,20,28,.8);border:1px solid rgba(255,255,255,.1);color:#c6d4db;cursor:pointer}
.hub-chip.on{background:rgba(94,234,212,.14);border-color:rgba(94,234,212,.45);color:#5eead4}
.hub-rows{display:grid;gap:8px}
.hub-row{display:flex;gap:10px;align-items:center;width:100%;padding:8px;border-radius:14px;background:rgba(8,20,28,.85);border:1px solid rgba(255,255,255,.1);color:#fff;font:inherit;text-align:left;cursor:pointer}
.hub-row:active{transform:scale(.985)}
.hub-thumb{position:relative;width:74px;height:60px;flex:none;border-radius:11px;background:#10242c center/cover}
.hub-thumb em{position:absolute;left:4px;top:4px;font-style:normal;font-size:9.5px;font-weight:800;padding:1px 6px;border-radius:99px;background:rgba(5,11,18,.72)}
.hub-row-x{flex:1;min-width:0;display:flex;flex-direction:column}
.hub-row-x b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-row-x small{font-size:10.5px;color:#93a8b1;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-by{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#cfe4ea;margin-top:3px}
.hub-by-logo{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#123 center/cover;font-size:8px;font-weight:800}
.hub-row-p{flex:none;text-align:right;display:flex;flex-direction:column}
.hub-row-p b{font-size:14px}.hub-row-p small{font-size:10px;margin-top:2px}
.hub-ok{color:#6ee7b7}.hub-low{color:#fcd34d}.hub-full{color:#fca5a5}
.hub-orghead{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:12px;border-radius:16px;background:rgba(8,20,28,.85);border:1px solid rgba(255,255,255,.1)}
.hub-orghead-logo{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;background:#123 center/cover;font-size:20px;font-weight:800}
.hub-orghead-x{min-width:0;display:flex;flex-direction:column}
.hub-orghead-x b{font-size:15px;color:#fff}.hub-orghead-x small{font-size:11px;color:#93a8b1;margin-top:2px}
.hub-line{margin-left:auto;flex:none;font-size:11.5px;font-weight:800;padding:7px 10px;border-radius:10px;background:#06c755;color:#fff;text-decoration:none}
@media(min-width:900px){.hub-rows{grid-template-columns:1fr 1fr}}
#modalBg .modal-x.hub-back-x{left:14px!important;right:auto!important;width:40px;height:40px;font-size:30px;line-height:1;padding:0 2px 4px 0;background:rgba(6,14,20,.72);border:1px solid rgba(255,255,255,.22)}
/* ศูนย์รวมทริป: ชวนเพจอื่นมาลงขาย */
.hub-org.hub-join{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 6px;border:1.5px dashed rgba(94,234,212,.5);background:rgba(94,234,212,.06)}
.hub-join-plus{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(94,234,212,.16);color:#5eead4;font-size:26px;font-weight:700;line-height:1}
.hub-join b{color:#5eead4}
.hub-cta{display:flex;align-items:center;gap:11px;width:100%;margin:14px 0 4px;padding:13px 12px;border-radius:16px;border:1px solid rgba(232,196,120,.45);background:linear-gradient(135deg,rgba(232,196,120,.16),rgba(8,20,28,.85));color:#fff;font:inherit;text-align:left;cursor:pointer}
.hub-cta:active{transform:scale(.98)}
.hub-cta-ic{flex:0 0 40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(232,196,120,.18);font-size:20px}
.hub-cta-x{flex:1;min-width:0}.hub-cta-x b{display:block;font-size:13px;line-height:1.35}.hub-cta-x small{display:block;margin-top:3px;font-size:10.5px;line-height:1.4;color:#b9c7cd}
.hub-cta-go{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#e8c478;color:#2a1c05;font-size:12px;font-weight:800}
/* ปุ่มติดต่อเพจ (LINE / Facebook / Instagram) ในหน้าเพจของศูนย์รวมทริป */
.hub-contact{margin:-4px 0 14px;padding:12px;border-radius:16px;background:rgba(6,14,22,.55);border:1px solid rgba(148,163,184,.18)}
.hub-contact>small{display:block;font-size:11.5px;font-weight:700;color:#94a3b8;margin-bottom:8px}
.hub-contact-btns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
.hub-ct{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 6px;border-radius:12px;color:#fff;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.hub-ct svg{width:19px;height:19px;flex:none}
.hub-ct-line{background:#06c755}
.hub-ct-facebook{background:#1877f2}
.hub-ct-instagram{background:linear-gradient(45deg,#f58529,#dd2a7b 55%,#8134af)}
.hub-ct:active{transform:scale(.97)}
/* แถวทริปในศูนย์รวมทริป: ชื่อทริป/ชื่อเพจยาว → ตัดเป็น "…" ราคาต้องอยู่ในจอเสมอ
   (ปุ่มใน grid จะกว้างตามข้อความถ้าไม่บังคับ min-width:0) */
.hub-rows{grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.hub-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hub-row{min-width:0;max-width:100%;overflow:hidden}
.hub-row-x,.hub-row-x>*{min-width:0;max-width:100%}
.hub-by{display:flex;align-items:center;min-width:0;overflow:hidden;white-space:nowrap}
.hub-by-logo{flex:none}
.hub-by-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-row-p{flex:none;min-width:max-content;padding-left:4px}
/* ==== css/105-home-top.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ================================================================
   หน้าหลัก — ส่วนบนแบบเรียบหรู (มือถือ)
   - ตัดกล่องทักทาย → ปุ่มเข้าสู่ระบบ/รูปโปรไฟล์ มุมขวาบน
   - แถบขั้นตอนการจอง ลอยแบบเดิม ย้ายมากลางจอใต้โลโก้
   - 3 ปุ่ม จองทริป/เช่าของ/รีวิว กล่องเล็ก ไอคอนเส้นด้านบน (ปุ่มจองเด่นด้วยสีทอง)
   - กล่องค้นหา + ทริปประจำเดือน/ภาพรวม รวมเป็นแผงเดียว
   ================================================================ */

/* ---------- หัวเว็บ: ปุ่มมุมขวาบน ---------- */
#hdrGreet{display:none!important}
.home-banner-actions{top:12px;right:12px;gap:6px;align-items:center}
.home-banner-actions .hdr-btn{padding:6px 10px;font-size:10.5px;font-weight:700;border-radius:999px}
.home-banner-actions .hdr-btn-info,
.home-banner-actions .hdr-btn-contact{background:rgba(6,11,19,.5);border:1px solid rgba(255,255,255,.16);color:#e2ecf3;box-shadow:none}
.home-banner-actions .hdr-btn-auth{background:linear-gradient(135deg,#5eead4,#22c3c9);color:#05232a;border:0;font-weight:800;box-shadow:0 4px 14px rgba(34,195,201,.35)}
.home-banner-actions .hdr-btn-auth.is-user{padding:3px 11px 3px 3px;gap:6px;background:rgba(6,11,19,.55);color:#fff;border:1px solid rgba(94,234,212,.55);box-shadow:none}
.hdr-btn-auth img,.hdr-auth-initial{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none}
.hdr-auth-initial{display:grid;place-items:center;background:linear-gradient(135deg,#5eead4,#0e7490);color:#05232a;font-weight:800;font-size:12px}
.hdr-auth-name{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media (max-width:899px){
  /* ---------- แถบขั้นตอน: ลอยแบบเดิม (ไม่มีกล่อง) ย้ายมากลางจอ ---------- */
  .hdr{padding-bottom:60px}
  .hdr.no-greet{padding-bottom:60px}
  .home-banner{overflow:visible}
  .home-booking-steps{
    left:50%;right:auto;bottom:-50px;transform:translateX(-50%);
    width:min(300px,calc(100% - 60px));max-width:300px;
    grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr;
  }
  .home-booking-steps .home-step-label{font-size:9px}
  .home-booking-steps .home-step-line{margin-top:15px}

  /* ---------- 3 ปุ่มหลัก ---------- */
  .home-quick-actions.qa-lux{gap:10px;margin:2px 0 12px}
  .qa-lux .qa-mini{
    animation:none!important;position:relative;height:76px;min-height:0;padding:10px 6px 8px;gap:0;
    border-radius:16px;justify-content:center;
    background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 8px 20px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.07);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  }
  .qa-lux .qa-mini:active{transform:scale(.97)}
  .qa-lux .qa-mini-ico{
    width:34px;height:34px;border-radius:50%;display:grid;place-items:center;margin-bottom:6px;
    background:rgba(94,234,212,.08);border:1px solid rgba(94,234,212,.35);color:#7ff0dc;
  }
  .qa-lux .qa-mini-ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .qa-lux .qa-mini-label,.qa-lux .qa-mytrips-mini .qa-mini-label{color:#f4f8fa;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}
  /* ปุ่มจองทริป: ทองเรียบหรู */
  .qa-lux .qa-trip-mini{border-color:rgba(232,196,120,.42);background:linear-gradient(180deg,rgba(232,196,120,.13),rgba(232,196,120,.03))}
  .qa-lux .qa-trip-mini .qa-mini-ico{background:linear-gradient(145deg,#f3d48a,#c08a35);border:0;color:#2a1c05;box-shadow:0 6px 16px rgba(192,138,53,.35)}
  .qa-lux .qa-mytrips-mini .qa-mini-ico{background:rgba(125,211,252,.08);border-color:rgba(125,211,252,.35);color:#9adcff}

  /* ---------- แผงค้นหา ---------- */
  .hte{margin:0 0 22px;padding:12px;border-radius:22px;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
    border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
  .hte-search{height:46px;border-radius:14px;background:rgba(3,10,16,.6);border-color:rgba(255,255,255,.1)}
  .hte-search>span{font-size:24px;color:#7ff0dc}
  .hte-search input{font-size:13.5px}
  .hte-actions{gap:8px;margin-top:8px}
  .hte .hte-tile{aspect-ratio:auto;height:62px;border-radius:14px;border-color:rgba(255,255,255,.08)}
  .hte .hte-tile::after{background:linear-gradient(90deg,rgba(6,11,19,.92) 30%,rgba(6,11,19,.45))}
  .hte .hte-tile::before{top:50%;right:10px;transform:translateY(-50%);font-size:20px}
  .hte-tile-body{flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;padding:0 24px 0 10px}
  .hte-tile-icon{position:static;flex:none;width:32px;height:32px;font-size:16px;border-radius:10px;color:#7ff0dc}
  .hte-tile-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .hte-tile-text{display:flex;flex-direction:column;min-width:0}
  .hte-tile-body strong{font-size:13px;white-space:nowrap}
  .hte-tile-body small{font-size:10.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hte .hte-tile.active{border-color:#5eead4}
}
@media (max-width:899px) and (prefers-reduced-motion:reduce){.qa-lux .qa-mini{transition:none}}
/* จอคอม: ไอคอนเส้นขนาดพอดีกับปุ่มแคปซูลของจอคอม */
@media (min-width:900px){.qa-lux .qa-mini-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}}

/* ---------- สไลด์รูปหัวเว็บ 3 รูป (ทุกขนาดจอ) ---------- */
.home-banner .hb-extra{position:absolute;inset:0;z-index:0;cursor:pointer}
.home-banner .hb-extra img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;opacity:0;transition:opacity .9s ease;border-radius:inherit}
.home-banner .hb-extra img.on{opacity:1}
.home-banner .home-banner-fade{z-index:1}
.hb-dots{position:absolute;z-index:3;right:14px;bottom:12px;display:flex;gap:5px}
.hb-dots button{width:6px;height:6px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.35);cursor:pointer;transition:width .3s,background .3s}
.hb-dots button.on{width:16px;background:#5eead4}
@media (prefers-reduced-motion:reduce){.home-banner .hb-extra img,.hb-dots button{transition:none}}
/* รูปที่ 2–3 เฟดขอบล่างให้กลืนพื้นหลังเหมือนรูปแรก (รูปแรกเฟดอยู่แล้วใน 97-forest-page-theme.css) */
@media(max-width:767px){
  #appShell .home-banner .hb-extra{
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.78) 84%,rgba(0,0,0,.42) 93%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.78) 84%,rgba(0,0,0,.42) 93%,transparent 100%);
  }
}
/* ซ่อนรูปแรกตอนโชว์รูปอื่น ขอบล่างที่เฟดจะได้ไม่เห็นรูปแรกซ้อนอยู่ข้างใต้ */
.home-banner>img{transition:opacity .9s ease}
.home-banner.hb-alt>img{opacity:0;transition-delay:.9s}

/* ---------- เมนูล่าง: แถบลอย มุมมน (มือถือ) ---------- */
@media (max-width:899px){
  #appShell .bnav,.bnav{
    left:12px;right:12px;width:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));
    padding:0 4px;border-radius:24px;
    background:linear-gradient(180deg,rgba(18,30,40,.82),rgba(8,15,22,.9))!important;
    border:1px solid rgba(255,255,255,.1)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  }
  .bnav-item{padding:8px 0 9px;gap:3px}
  .bnav-item .ico{width:46px;height:28px;border-radius:14px;transition:background .25s,color .25s}
  .bnav-item .ico svg{width:21px;height:21px}
  .bnav-item .lbl{font-size:10px;color:#7f93a0}
  .bnav-item.active .ico{background:rgba(94,234,212,.14);color:#5eead4;filter:none}
  .bnav-item.active .lbl{color:#5eead4;font-weight:800}
  .bnav-checkin-action .checkin-fab{
    width:52px;height:52px;flex-basis:52px;margin-top:-26px;color:#05232a;
    background:linear-gradient(145deg,#7ff0dc,#22c3c9)!important;border:0!important;
    box-shadow:0 0 0 5px rgba(6,13,20,.95),0 10px 24px rgba(34,195,201,.35)!important;
  }
  .bnav-checkin-action .checkin-fab::before{border-color:rgba(255,255,255,.35)}
  .bnav-checkin-action .checkin-fab-scanline{background:linear-gradient(90deg,transparent,#fff 50%,transparent)}
  .bnav-checkin-action .lbl{color:#5eead4!important;font-weight:800}
}
@media (max-width:899px){#nav-notif .ann-dot{right:26%;top:5px;box-shadow:0 0 0 2px #0b1620}}

/* แก้บัค: หน้าเข้าสู่ระบบต้องอยู่บนสุด (เดิม 9999 เท่ากับป๊อปอัพทริปรายเดือน/ปฏิทิน เลยไปอยู่ข้างหลัง)
   สูงกว่าหน้ารายละเอียดทริป (20000) หน้าเช่าของ (22000) แต่ต่ำกว่ากล่องแจ้งเตือน (40000) */
#loginPage{z-index:30000}
/* ==== css/106-partner-apply.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ================= สมัครเป็นผู้จัดทริป ================= */
.pa-overlay{position:fixed;inset:0;z-index:35000;display:none;align-items:flex-end;justify-content:center;background:rgba(2,8,12,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pa-overlay.show{display:flex;animation:paFade .2s ease}
@keyframes paFade{from{opacity:0}to{opacity:1}}
@keyframes paUp{from{transform:translateY(30px)}to{transform:none}}
body.pa-open{overflow:hidden}
.pa-card{width:min(560px,100%);max-height:calc(100dvh - max(16px,env(safe-area-inset-top)));display:flex;flex-direction:column;border-radius:24px 24px 0 0;background:linear-gradient(180deg,#0b1a22,#060f15);border:1px solid rgba(94,234,212,.25);border-bottom:0;color:#f1f6f9;box-shadow:0 -20px 60px rgba(0,0,0,.6);animation:paUp .25s ease}
@media(min-width:600px){.pa-overlay{align-items:center}.pa-card{border-radius:24px;border-bottom:1px solid rgba(94,234,212,.25);max-height:calc(100dvh - 40px)}}
.pa-head{display:flex;align-items:center;gap:11px;padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.pa-head-ic{flex:0 0 44px;height:44px;display:grid;place-items:center;border-radius:14px;background:rgba(232,196,120,.16);font-size:22px}
.pa-head h4{margin:0;font-size:17px;font-weight:800}.pa-head p{margin:2px 0 0;font-size:11.5px;color:#93a8b1}
.pa-head>div{flex:1;min-width:0}
.pa-x{flex:0 0 36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font-size:15px;cursor:pointer}
.pa-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px calc(18px + env(safe-area-inset-bottom))}
.pa-loading{padding:40px 0;text-align:center;color:#93a8b1}
.pa-fee{display:block;padding:12px 13px;border-radius:14px;background:linear-gradient(135deg,rgba(94,234,212,.14),rgba(94,234,212,.04));border:1px solid rgba(94,234,212,.35)}
.pa-fee b{display:block;font-size:15px;color:#5eead4}.pa-fee span{display:block;margin-top:3px;font-size:11.5px;line-height:1.5;color:#c6d4db}
.pa-sec{margin:18px 0 4px;font-size:11px;font-weight:800;letter-spacing:.4px;color:#e8c478}
.pa-l{display:block;margin:10px 0 5px;font-size:12.5px;font-weight:700;color:#dbe6eb}
.pa-req{color:#fb7185}
.pa-in{display:block;width:100%;box-sizing:border-box;height:44px;padding:0 13px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:16px;outline:none}
.pa-in:focus{border-color:#5eead4;background:rgba(94,234,212,.07)}
.pa-in::placeholder{color:#64808b}
.pa-file{position:relative;display:flex;align-items:center;justify-content:center;min-height:84px;border-radius:14px;border:1.5px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.03);overflow:hidden;cursor:pointer;text-align:center}
.pa-file span{position:relative;z-index:1;font-size:12.5px;color:#a9bcc4;padding:6px 10px;border-radius:999px}
.pa-file img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.pa-file.has{border-style:solid;border-color:rgba(94,234,212,.5);min-height:150px}
.pa-file.has span{position:absolute;bottom:8px;background:rgba(5,11,18,.78);color:#5eead4;font-weight:700}
.pa-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pa-two .pa-file.has img{object-fit:cover}
.pa-check{display:flex;gap:10px;align-items:flex-start;margin:18px 0 4px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);font-size:12px;line-height:1.55;color:#c6d4db;cursor:pointer}
.pa-check input{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;accent-color:#14b8a6}
.pa-btn{display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin-top:12px;border-radius:14px;border:0;font:inherit;font-size:15px;font-weight:800;text-decoration:none;cursor:pointer}
.pa-primary{background:linear-gradient(135deg,#2dd4bf,#0d9488);color:#03211f;box-shadow:0 8px 22px rgba(20,184,166,.28)}
.pa-primary:disabled{opacity:.6}
.pa-line{background:#06c755;color:#fff}
.pa-foot{margin:10px 0 0;text-align:center;font-size:11px;color:#7f959e}
.pa-status{padding:22px 14px 16px;border-radius:18px;text-align:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.pa-status.wait{border-color:rgba(232,196,120,.45)}.pa-status.ok{border-color:rgba(94,234,212,.5)}.pa-status.no{border-color:rgba(251,113,133,.4)}
.pa-status-ic{font-size:40px;line-height:1}
.pa-status b{display:block;margin-top:10px;font-size:16px}
.pa-status small{display:block;margin-top:4px;font-size:11.5px;color:#93a8b1}
.pa-status p{margin:10px 0 0;font-size:12.5px;line-height:1.6;color:#c6d4db}
.pa-status .pa-note{padding:9px 11px;border-radius:11px;background:rgba(255,255,255,.05);text-align:left}
.pa-pick{min-width:0}
/* พื้นหลังป่าแบบเดียวกับป๊อปอัปศูนย์รวมทริป */
.pa-card{background:linear-gradient(180deg,rgba(3,12,18,.5),rgba(2,10,15,.8)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat;border-color:rgba(81,194,229,.38)}
.pa-in{background-color:rgba(6,16,22,.55)}
.pa-status,.pa-check{background:rgba(6,16,22,.62)}
/* ป๊อปอัปโหลดข้อมูลกลางจอ (กดลงขายทริป / เปิดหน้าจัดการเพจ) */
.pa-loader{position:fixed;inset:0;z-index:36000;display:none;align-items:center;justify-content:center;background:rgba(2,8,12,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.pa-loader.show{display:flex;animation:paFade .18s ease}
.pa-loader-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:210px;padding:24px 26px 20px;border-radius:22px;border:1px solid rgba(81,194,229,.38);background:linear-gradient(180deg,rgba(3,12,18,.5),rgba(2,10,15,.82)),url('/ximg.php?f=1448375240586-882707db888b-600.jpg') center/cover no-repeat;box-shadow:0 24px 70px rgba(0,0,0,.6);color:#f1f6f9;text-align:center;animation:paPop .22s ease}
@keyframes paPop{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
.pa-loader-card b{font-size:15px;font-weight:800}
.pa-loader-card small{font-size:11.5px;color:#93a8b1}
.pa-loader-spin{width:42px;height:42px;margin-bottom:4px;border-radius:50%;border:3px solid rgba(94,234,212,.2);border-top-color:#5eead4;animation:pdSpin .8s linear infinite}
@keyframes pdSpin{to{transform:rotate(360deg)}}
/* การ์ดทริปของเพจผู้จัดอื่น: ป้าย "ผู้จัด" เหนือชื่อทริป */
.thc-org{display:flex;width:fit-content;align-items:center;gap:7px;max-width:100%;margin:0;padding:4px 12px 4px 4px;border-radius:12px;
  background:linear-gradient(135deg,rgba(243,212,138,.95),rgba(214,170,82,.95));border:1px solid rgba(255,236,190,.9);
  box-shadow:0 6px 18px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.45);line-height:1.5;align-self:flex-start}
.thc-org i{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#0f766e center/cover;border:1.5px solid #fff;color:#fff;font-style:normal;font-size:13px;font-weight:800;line-height:1}
.thc-org small{flex:none;font-size:11px;font-weight:700;color:#5a3d06;padding:1px 6px;border-radius:6px;background:rgba(255,255,255,.45)}
.thc-org b{min-width:0;font-size:14px;font-weight:800;color:#2a1a00;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}
.thc-org em{flex:none;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#0f766e;color:#fff;font-style:normal;font-size:10px;font-weight:900;line-height:1}
.trip-hcard2.compact .thc-org{padding:3px 10px 3px 3px}
.trip-hcard2.compact .thc-org i{width:22px;height:22px;font-size:11px}
.trip-hcard2.compact .thc-org b{font-size:12px}
/* ---------- หน้าแรก: ส่วน "ศูนย์รวมทริป" การ์ดเพจอื่นไหลไปทางซ้าย ---------- */
.hub-mq-hdr{margin-top:20px}
.hub-mq-hdr h3{display:flex;align-items:center;gap:8px}
.hub-mq-ico{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,#f3d48a,#d6aa52);box-shadow:0 4px 12px rgba(214,170,82,.35)}
.hub-mq-ico svg{width:17px;height:17px;fill:none;stroke:#2a1a00;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hub-mq-all{border:1px solid rgba(243,212,138,.55);background:rgba(243,212,138,.12);color:#f3d48a;font:inherit;font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;cursor:pointer}
.hub-mq{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0 8px;}
.hub-mq::-webkit-scrollbar{display:none}
.hub-mq-track{display:flex;gap:12px}
/* ขนาดการ์ดเท่ากับแถว "ทริปที่เปิดจอง" ด้านบน (JS วัดจากแถวบนแล้วใส่ --hub-w / --hub-h ให้) */
.hub-mq .trip-hcard2{flex:0 0 var(--hub-w,100%);width:var(--hub-w,100%);min-width:0;min-height:auto;margin:0}
@media (min-width:900px){
  .hub-mq-track{gap:var(--hub-gap,13px)}
  #appShell .hub-mq .trip-hcard2,#desktopApp .hub-mq .trip-hcard2{flex:0 0 var(--hub-w,50%)!important;width:var(--hub-w,50%)!important;max-width:none!important;height:var(--hub-h,246px)!important;border-radius:16px!important;overflow:hidden!important}
  #appShell .hub-mq .trip-hcard2 .thc-photo,#desktopApp .hub-mq .trip-hcard2 .thc-photo,
  #appShell .hub-mq .trip-hcard2 .thc-photo>img,#desktopApp .hub-mq .trip-hcard2 .thc-photo>img{height:100%!important;aspect-ratio:auto!important;border-radius:0!important}
}
/* ป้ายผู้จัด อยู่มุมขวาล่าง เหนือกล่องที่นั่ง/เลือกรอบ */
.thc-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:0;max-width:62%;margin-left:auto}
.thc-right .thc-org{max-width:100%}
.thc-bottom-row:has(.thc-right){align-items:flex-end}
/* การ์ดที่มีเนื้อหาเยอะ (ป้ายวันที่ในป็อปอัพเดือน / ป้ายผู้จัด) → การ์ดยืดสูงตามเนื้อหา ไม่ให้ทับป้าย "เปิดจองอยู่" ด้านบน */
.hte-list .trip-hcard2 .thc-photo{aspect-ratio:auto!important;min-height:210px;display:flex;flex-direction:column;justify-content:flex-end}
.hte-list .trip-hcard2 .thc-photo>img{position:absolute;inset:0;width:100%;height:100%!important}
.hte-list .trip-hcard2 .thc-overlay{position:relative;left:auto;right:auto;bottom:auto;padding:66px 18px 16px}
@media (max-width:899px){
  .trip-hcard2:has(.thc-right) .thc-photo{aspect-ratio:auto!important;min-height:210px;display:flex;flex-direction:column;justify-content:flex-end}
  .trip-hcard2:has(.thc-right) .thc-photo>img{position:absolute;inset:0;width:100%;height:100%!important}
  .trip-hcard2:has(.thc-right) .thc-overlay{position:relative;left:auto;right:auto;bottom:auto;padding:66px 18px 16px}
}
.hte-list .thc-meta-row{margin-bottom:4px!important}
.hte-date-line{font-size:11px;color:#e5e7eb;margin:0 0 10px;line-height:1.5}
/* ==== css/107-partner-dashboard.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ================= จัดการเพจของฉัน (ผู้จัดทริป) ================= */
.pd-overlay{position:fixed;inset:0;z-index:35000;display:none;justify-content:center;background:rgba(2,8,12,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pd-overlay.show{display:flex;animation:paFade .2s ease}
body.pd-open{overflow:hidden}
.pd-shell{width:min(640px,100%);height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#0b1a22,#050d12);color:#f1f6f9;box-shadow:0 0 60px rgba(0,0,0,.6)}
@media(min-width:700px){.pd-shell{height:calc(100% - 40px);margin-top:20px;border-radius:24px;border:1px solid rgba(94,234,212,.22);overflow:hidden}}
.pd-top{display:flex;align-items:center;gap:11px;padding:calc(12px + env(safe-area-inset-top)) 14px 10px}
.pd-logo{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#15323b center/cover;border:2px solid rgba(94,234,212,.4);font-weight:800;font-size:18px;color:#5eead4}
.pd-logo.big{width:72px;height:72px;flex-basis:72px;font-size:28px;margin:0 auto}
.pd-top-x{flex:1;min-width:0}.pd-top-x small{display:block;font-size:10.5px;letter-spacing:.5px;color:#5eead4;font-weight:700}
.pd-top-x h4{margin:1px 0 0;font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-x{flex:0 0 38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font-size:15px;cursor:pointer}
.pd-tabs{display:flex;gap:6px;padding:4px 14px 10px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.07)}
.pd-tabs::-webkit-scrollbar{display:none}
.pd-tabs button{flex:1 0 auto;padding:9px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#c6d4db;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.pd-tabs button.on{background:rgba(94,234,212,.14);border-color:rgba(94,234,212,.5);color:#5eead4}
.pd-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 14px calc(24px + env(safe-area-inset-bottom))}
.pd-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:46px 0;color:#93a8b1;font-size:13px}
.pd-spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(94,234,212,.25);border-top-color:#5eead4;animation:pdSpin .8s linear infinite}
@keyframes pdSpin{to{transform:rotate(360deg)}}
.pd-empty{padding:34px 12px;text-align:center;color:#c6d4db;font-size:14px;line-height:1.6}.pd-empty small{color:#7f959e;font-size:12px}
.pd-h{display:flex;justify-content:space-between;align-items:baseline;margin:18px 2px 9px;font-size:14px;font-weight:800}.pd-h small{font-size:11px;color:#5eead4}
.pd-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;border-radius:16px;border:1.5px dashed rgba(94,234,212,.55);background:rgba(94,234,212,.08);color:#5eead4;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.pd-add span{font-size:22px;line-height:1}
.pd-trip{display:flex;gap:11px;padding:10px;margin-bottom:10px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.pd-trip.past{opacity:.75}.pd-trip.off{border-color:rgba(251,191,36,.3)}
.pd-trip-img{position:relative;flex:0 0 92px;height:104px;border-radius:12px;background:#15323b center/cover}
.pd-pill{position:absolute;left:5px;bottom:5px;right:5px;text-align:center;padding:2px 0;border-radius:99px;font-size:10px;font-weight:800;background:rgba(5,11,18,.78)}
.pd-pill.on{color:#5eead4}.pd-pill.off{color:#fbbf24}.pd-pill.past{color:#93a8b1}
.pd-trip-x{flex:1;min-width:0}.pd-trip-x>b{display:block;font-size:14px;line-height:1.35}
.pd-trip-x>small{display:block;margin-top:2px;font-size:11.5px;color:#93a8b1}
.pd-stats{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.pd-stats span{padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.06);font-size:10.5px;color:#c6d4db}.pd-stats b{color:#fff}
.pd-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pd-acts button{padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#e2e8f0;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}
.pd-acts button:first-child{border-color:rgba(94,234,212,.45);color:#5eead4}
/* ฟอร์ม */
.pd-formhead{display:flex;align-items:center;gap:10px;margin-bottom:6px}.pd-formhead b{font-size:16px}
.pd-back{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font-size:24px;line-height:1;padding:0 2px 3px 0;cursor:pointer}
.pd-sec{margin:18px 0 2px;font-size:11px;font-weight:800;letter-spacing:.4px;color:#e8c478}
.pd-l{display:block;margin:11px 0 5px;font-size:12.5px;font-weight:700;color:#dbe6eb}.pd-l i{color:#fb7185;font-style:normal}.pd-l small{font-weight:400;color:#7f959e}
.pd-in{display:block;width:100%;box-sizing:border-box;height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:16px;outline:none;color-scheme:dark}
.pd-in:focus{border-color:#5eead4;background:rgba(94,234,212,.07)}.pd-in:disabled{opacity:.55}.pd-in::placeholder{color:#64808b}
select.pd-in{appearance:auto}
.pd-ta{height:auto;padding:10px 12px;line-height:1.5;resize:vertical}
.pd-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pd-two>div{min-width:0}
.pd-preview{margin-top:8px;font-size:12px;color:#93a8b1}.pd-preview b{color:#5eead4}
.pd-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pd-seg button{padding:9px 0;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#c6d4db;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.pd-seg button small{display:block;font-size:10.5px;font-weight:400;color:#7f959e}
.pd-seg button.on{border-color:#5eead4;background:rgba(94,234,212,.12);color:#5eead4}
.pd-file{position:relative;display:flex;align-items:center;justify-content:center;min-height:90px;border-radius:14px;border:1.5px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.03);overflow:hidden;cursor:pointer}
.pd-file span{position:relative;z-index:1;font-size:12.5px;color:#a9bcc4;padding:5px 10px;border-radius:99px}
.pd-file img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pd-file.has{border-style:solid;border-color:rgba(94,234,212,.5);min-height:150px}
.pd-file.has span{position:absolute;bottom:8px;background:rgba(5,11,18,.8);color:#5eead4;font-weight:700}
.pd-file.qr img{object-fit:contain;background:#fff}.pd-file.qr.has{min-height:220px}
.pd-note{margin:8px 0 4px;padding:10px 12px;border-radius:12px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);font-size:12px;line-height:1.5;color:#fde68a}
.pd-hint{margin:10px 2px 0;font-size:11.5px;line-height:1.55;color:#7f959e}
.pd-btn{display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin-top:14px;border-radius:14px;border:0;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.pd-primary{background:linear-gradient(135deg,#2dd4bf,#0d9488);color:#03211f}.pd-primary:disabled{opacity:.6}
.pd-danger{background:transparent;border:1px solid rgba(251,113,133,.45);color:#fb7185;height:44px;font-size:14px}
/* คนจอง */
.pd-pick{margin-bottom:10px;font-size:14px}
.pd-sum{display:grid;grid-template-columns:repeat(4,1fr);border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);text-align:center;padding:9px 0}
.pd-sum div+div{border-left:1px solid rgba(255,255,255,.08)}.pd-sum b{display:block;font-size:17px;color:#5eead4}.pd-sum span{font-size:10.5px;color:#93a8b1}
.pd-sum .warn b{color:#fbbf24}
.pd-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 4px}
.pd-tools button{height:42px;border-radius:12px;border:1px solid rgba(232,196,120,.45);background:rgba(232,196,120,.1);color:#f3d48a;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.pd-bk{margin-top:10px;padding:11px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.pd-bk-top{display:flex;gap:10px}
.pd-seat{flex:0 0 40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(94,234,212,.12);color:#5eead4;font-weight:800;font-size:13px}
.pd-bk-x{flex:1;min-width:0}.pd-bk-x b{display:block;font-size:14px}.pd-bk-x b small{color:#93a8b1;font-weight:400}
.pd-bk-x>small{display:block;margin-top:2px;font-size:11.5px;color:#93a8b1}.pd-bk-x a{color:#7dd3fc;text-decoration:none}
.pd-st.ok{color:#86efac!important}
.pd-ins{margin-top:9px;padding:8px 10px;border-radius:11px;font-size:11.5px;line-height:1.5}
.pd-ins.ok{background:rgba(94,234,212,.07);border:1px solid rgba(94,234,212,.22)}.pd-ins.ok b{display:block;font-size:12.5px}.pd-ins.ok span{display:block;color:#c6d4db}
.pd-ins.no{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.3);color:#fde68a}.pd-ins.no small{display:block;color:#bfa760}
.pd-bk-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.pd-tg{height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#c6d4db;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.pd-tg.on{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.55);color:#86efac}.pd-tg:disabled{opacity:.4}
/* ค่าธรรมเนียม */
.pd-feehead{padding:13px;border-radius:16px;background:linear-gradient(135deg,rgba(94,234,212,.14),rgba(94,234,212,.03));border:1px solid rgba(94,234,212,.35)}
.pd-feehead>b{display:block;font-size:17px;color:#5eead4}.pd-feehead span{display:block;margin-top:4px;font-size:12px;line-height:1.55;color:#c6d4db}
.pd-fee{margin-top:10px;padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.pd-fee-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.pd-fee-top>b{font-size:14px}.pd-fee-top span{font-size:12px;color:#93a8b1}.pd-fee-top span b{color:#f3d48a;font-size:14px}
.pd-fee-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#c6d4db}
/* ตั้งค่าเพจ */
.pd-profile{text-align:center;padding:6px 0 4px}.pd-profile b{display:block;margin-top:8px;font-size:17px}.pd-profile small{display:block;margin-top:2px;font-size:11.5px;color:#93a8b1}
.pd-vf{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#5eead4;color:#05232a;font-size:11px;vertical-align:2px}
/* หน้าจ่ายเงิน: ทริปของเพจอื่น */
.pd-paynote{margin:6px auto 10px;padding:9px 12px;max-width:320px;border-radius:12px;background:rgba(232,196,120,.12);border:1px solid rgba(232,196,120,.45);text-align:center;font-size:13px;line-height:1.45;color:#fde68a}
.pd-paynote b{color:#fff}.pd-paynote small{display:block;margin-top:2px;font-size:11px;color:#cbb67a}
.pd-blocked{display:block;margin-top:6px;font-size:11px;color:#fbbf24}
/* เพจของเรา (แอดมิน) */
.pd-asback{flex:0 0 auto;padding:7px 10px;border-radius:99px;border:1px solid rgba(232,196,120,.5);background:rgba(232,196,120,.12);color:#f3d48a;font:inherit;font-size:11.5px;font-weight:800;cursor:pointer}
.pd-asback[hidden]{display:none}
.pd-codetrip{display:block;margin-top:6px;font-size:10.5px;color:#7f959e}
.pd-bk-acts.one{grid-template-columns:1fr}
.pd-sum.pd-sum3{grid-template-columns:repeat(3,1fr)}
.pd-pt{margin-top:10px;padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.pd-pt-top{display:flex;align-items:center;gap:10px}
.pd-pt-x{flex:1;min-width:0}.pd-pt-x b{display:block;font-size:14px}.pd-pt-x small{display:block;font-size:11px;color:#93a8b1}.pd-pt-x a{color:#7dd3fc;text-decoration:none}
.pd-ptst{flex:0 0 auto;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:800}
.pd-ptst.ok{background:rgba(34,197,94,.16);color:#86efac}.pd-ptst.wait{background:rgba(251,191,36,.15);color:#fbbf24}.pd-ptst.no{background:rgba(251,113,133,.14);color:#fb7185}
.pd-pt .pd-stats{margin:8px 0 4px}
.pd-ptopen{width:100%;margin-top:9px;height:38px;border-radius:11px;border:1px solid rgba(94,234,212,.45);background:rgba(94,234,212,.08);color:#5eead4;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.pd-tabs button[hidden]{display:none}
/* ช่องวันที่ (iPhone ไม่ล้นจอ) */
.pd-dates input[type=date].pd-in{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;text-align:left;padding:0 10px 0 38px;line-height:44px;background:rgba(255,255,255,.05) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235eead4' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat 12px center}
.pd-dates input[type=date].pd-in::-webkit-date-and-time-value{text-align:left;margin:0}
.pd-dates input[type=date].pd-in::-webkit-calendar-picker-indicator{opacity:.6;filter:invert(1)}
.pd-dates input[type=date].pd-in:focus{background-color:rgba(94,234,212,.07)}
.pd-preview{line-height:1.7}
.pd-count{display:block;text-align:right;margin-top:3px;font-size:10.5px;color:#64808b}
/* หน้ารายละเอียดทริป: กล่องรายละเอียด */
.modal-details[hidden]{display:none}
.modal-details b{display:block;margin-bottom:6px;font-size:13.5px;color:#fff}
/* พื้นหลังป่าแบบเดียวกับป๊อปอัปศูนย์รวมทริป */
.pd-shell{background:linear-gradient(180deg,rgba(3,12,18,.5),rgba(2,10,15,.8)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat;border-color:rgba(81,194,229,.38)}
@media(min-width:700px){.pd-shell{border:1px solid rgba(81,194,229,.38);border-radius:25px}}
.pd-top{background:linear-gradient(180deg,rgba(3,12,18,.55),transparent)}
.pd-tabs{border-bottom-color:rgba(81,194,229,.18)}
.pd-trip,.pd-bk,.pd-fee,.pd-pt,.pd-sum{background:rgba(6,16,22,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pd-in{background-color:rgba(6,16,22,.55)}
/* แท็บทุกเพจ: ตรวจใบสมัคร + ปุ่มอนุมัติ */
.pd-pt.wait{border-color:rgba(251,191,36,.45)}
.pd-app{margin-top:10px;padding:10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.pd-app-imgs{display:flex;gap:8px;margin-bottom:8px}
.pd-app-imgs a{flex:1;text-decoration:none;text-align:center}
.pd-app-imgs img{display:block;width:100%;height:110px;object-fit:contain;border-radius:10px;background:#fff}
.pd-app-imgs a+a img{object-fit:cover;background:#123}
.pd-app-imgs small{display:block;margin-top:3px;font-size:10.5px;color:#93a8b1}
.pd-app dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:12px}
.pd-app dt{color:#93a8b1}.pd-app dd{margin:0;color:#e2e8f0;word-break:break-word}.pd-app a{color:#7dd3fc}
.pd-more{margin-top:8px}.pd-more summary{cursor:pointer;font-size:12px;color:#7dd3fc;font-weight:700;list-style:none}.pd-more summary::-webkit-details-marker{display:none}.pd-more summary:before{content:'▸ '}.pd-more[open] summary:before{content:'▾ '}
.pd-adm{display:flex;gap:8px;margin-top:10px}
.pd-adm button{flex:1;height:40px;border-radius:11px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;border:1px solid}
.pd-adm .ok{background:linear-gradient(135deg,#2dd4bf,#0d9488);border-color:transparent;color:#03211f}
.pd-adm .no{background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.45);color:#fb7185}
.pd-adm .go{background:rgba(94,234,212,.08);border-color:rgba(94,234,212,.45);color:#5eead4}
.pd-adm button:disabled{opacity:.6}
/* ---------- ผังเบาะ (ปิด/เปิดเบาะรายตัว) — ใช้ .seat ชุดเดียวกับหน้าจอง แก้เฉพาะให้กดเบาะ "งดจอง" เพื่อเปิดคืนได้ ---------- */
.pd-seats{margin:4px 0 6px}
.pd-seats .seat.pd-closed{pointer-events:auto;cursor:pointer;color:rgba(255,255,255,.45)}
.pd-seats .seat[data-seat]:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
#pfSeatSave[disabled]{opacity:.7}
/* เปลี่ยนสีเบาะทันที ไม่มีแอนิเมชันย่อ/ขยาย (ไม่กระพริบ) */
.pd-seats .seat[data-seat]{transition:background-color .12s,box-shadow .12s,color .12s;-webkit-tap-highlight-color:transparent}
/* ทดลองใช้ฟรีถึง 31 ธ.ค. 70 */
.pd-free{color:#fbbf24!important;font-weight:800}
.pd-sum .pd-sum-free b{color:#fbbf24}
.pd-feehead.pd-feehead-free{background:linear-gradient(135deg,rgba(251,191,36,.18),rgba(251,191,36,.04));border-color:rgba(251,191,36,.45)}
.pd-feehead.pd-feehead-free>b{color:#fbbf24}
/* ==== css/108-social-proof.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ---------- การ์ดทริป: คนที่จองแล้ว + นับถอยหลัง ---------- */
.thc-social{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 7px;min-width:0}
.thc-people{display:flex;align-items:center;gap:6px;min-width:0}
.thc-av{display:flex;flex:none}
.thc-av i{width:22px;height:22px;margin-left:-7px;border-radius:50%;border:2px solid rgba(11,22,32,.95);background:#1e3a44 center/cover no-repeat;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.thc-av i:first-child{margin-left:0}
.thc-people small{font-size:11px;font-weight:700;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.thc-countdown{flex:none;display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;background:rgba(250,204,21,.16);border:1px solid rgba(250,204,21,.45);color:#fde68a;font-size:10.5px;font-weight:800;white-space:nowrap;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.thc-countdown.soon{background:rgba(239,68,68,.2);border-color:rgba(248,113,113,.55);color:#fecaca}
.trip-hcard2.compact .thc-social{margin:1px 0 5px}

/* ---------- หน้ารายละเอียด: แถบที่นั่ง (ใต้วันที่) ---------- */
#modalBg .md-seatbar{margin:-4px 0 12px;padding:11px 13px 10px;border-radius:14px;background:rgba(8,20,28,.72);border:1px solid rgba(255,255,255,.1)}
#modalBg .md-seatbar[hidden]{display:none}
.md-seatbar-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:#fff}
.md-seatbar-top em{font-style:normal;font-weight:800;font-size:11.5px;padding:2px 9px;border-radius:99px}
.md-seatbar-top em.ok{color:#6ee7b7;background:rgba(52,211,153,.14)}
.md-seatbar-top em.hot{color:#fecaca;background:rgba(239,68,68,.18)}
.md-seatbar-top em.full{color:#fca5a5;background:rgba(239,68,68,.2)}
.md-seatbar-top em.soon{color:#fde68a;background:rgba(250,204,21,.15)}
.md-seatbar-track{height:8px;margin-top:8px;border-radius:8px;background:rgba(255,255,255,.1);overflow:hidden}
.md-seatbar-track span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#34d399,#facc15 60%,#ef4444);background-repeat:no-repeat;transition:width .5s ease}
.md-seatbar-sub{margin-top:7px;font-size:11.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* กล่อง "ที่นั่งคงเหลือ" เดิม ซ้ำกับแถบด้านบนแล้ว → ซ่อน */
#modalBg .md-seat-row-old{display:none!important}

/* ---------- หน้ารายละเอียด: รวม ราคา / มัดจำ / จุดขึ้นรถ เป็นกล่องเดียว ---------- */
#modalBg .md-info{margin:0 0 14px;padding:12px 14px;border-radius:16px;background:rgba(8,20,28,.72);border:1px solid rgba(52,211,153,.22)}
#modalBg .md-info .modal-price{all:unset;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;color:#fff}
#modalBg .md-info .modal-price b{font-size:26px;font-weight:800;line-height:1.1;color:#fff}
#modalBg .md-info .modal-price span{font-size:12.5px;color:#cbd5e1;font-weight:600}
#modalBg .md-info .modal-price small{margin-left:auto;font-size:11px;color:#6ee7b7;font-weight:700}
#modalBg .md-info .modal-payment{all:unset;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:9px;padding-top:9px;border-top:1px dashed rgba(255,255,255,.12);font-size:12px;color:#fbbf24}
#modalBg .md-info .modal-payment[hidden]{display:none}
.md-pay-step{display:inline-flex;align-items:baseline;gap:5px}
.md-pay-step i{font-style:normal;color:#94a3b8;font-size:11.5px}
.md-pay-step b{color:#fde68a;font-size:13.5px;font-weight:800}
.md-pay-arrow{color:#64748b;font-weight:800}
.md-pay-note{margin-left:auto;font-size:11px;color:#94a3b8}
#modalBg .md-info .modal-pickup{all:unset;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px;padding-top:9px;border-top:1px dashed rgba(255,255,255,.12)}
.md-pick-lbl{font-size:11.5px;color:#94a3b8;margin-right:2px}
#modalBg .md-info .modal-pickup-item{padding:4px 10px;font-size:12px}
@media(min-width:900px){
  #modalBg .md-info .modal-price b{font-size:30px}
  #modalBg .md-info .modal-payment,#modalBg .md-seatbar-top{font-size:15px}
  .md-pay-step b{font-size:16px}.md-pay-step i,.md-pay-note,.md-pick-lbl,.md-seatbar-sub{font-size:13.5px}
  #modalBg .md-info .modal-pickup-item{font-size:14px}
}

/* ---------- แจ้งเตือนเด้ง "เพิ่งมีคนจอง" ---------- */
.tnh-recent{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 104px);z-index:9000;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border-radius:16px;
  background:rgba(8,20,28,.95);border:1px solid rgba(94,234,212,.35);box-shadow:0 12px 30px rgba(0,0,0,.5);color:#fff;cursor:pointer;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(16px);transition:opacity .35s,transform .35s}
.tnh-recent.in{opacity:1;transform:none}
.tnh-recent-av{position:relative;flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:linear-gradient(145deg,#f472b6,#be185d);border:2px solid #5eead4;overflow:hidden}
.tnh-recent-av i{position:absolute;inset:0;background:center/cover no-repeat}
.tnh-recent-tx{min-width:0;flex:1}
.tnh-recent-tx b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tnh-recent-tx small{display:block;margin-top:1px;font-size:11px;color:#94a3b8}
.tnh-recent-x{flex:none;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#64748b;font-size:15px;cursor:pointer}
@media(min-width:900px){.tnh-recent{left:24px;right:auto;bottom:24px;width:360px}}
@media (prefers-reduced-motion:reduce){.tnh-recent{transition:none}}
/* ==== css/110-reviews-v2.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ================================================================
   หน้ารีวิวแบบสตอรี่ (A) — แถววงกลมคนรีวิว + การ์ดรูปเต็มจอปัดทีละคน
   ================================================================ */
.rv-head{margin:2px 2px 14px}
.rv-head h2{font-size:25px;font-weight:800;color:#fff;line-height:1.2;letter-spacing:-.3px}
.rv-head p{margin-top:4px;font-size:13px;color:#94a3b8}
.rvs-hdr-score{color:#facc15!important;background:rgba(250,204,21,.12)!important;border:1px solid rgba(250,204,21,.35)!important;font-weight:800!important}

/* ---------- แถวสตอรี่ ---------- */
.rvs-stories{display:flex;gap:14px;margin:0 -16px 16px;padding:2px 16px 4px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.rvs-stories::-webkit-scrollbar{display:none}
.rvs-story{all:unset;flex:none;width:66px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;scroll-snap-align:start}
.rvs-story small{max-width:66px;font-size:11.5px;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rvs-ring{display:block;width:64px;height:64px;border-radius:50%;padding:3px;background:conic-gradient(from 210deg,#facc15,#f97316,#ef4444,#facc15)}
.rvs-ring.seen{background:#334155}
.rvs-ring.add{display:grid;place-items:center;padding:0;background:none;border:2px dashed #475569}
.rvs-ring.add b{font-size:28px;font-weight:300;color:#facc15;line-height:1}
.rvs-face{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;overflow:hidden;border:3px solid #070d12;
  background:#0369a1;color:#fff;font-weight:800;font-size:20px;box-sizing:border-box}
.rvs-face i,.rvs-av i{position:absolute;inset:0;background:center/cover no-repeat}
.rvs-story:focus-visible .rvs-ring{outline:2px solid #fff;outline-offset:2px}

/* ---------- การ์ดสตอรี่ (ปัดทีละใบ) ---------- */
.rvs-viewer{position:relative;margin:0 0 14px}
.rvs-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:26px;overscroll-behavior-x:contain}
.rvs-track::-webkit-scrollbar{display:none}
.rvs-slide{position:relative;flex:0 0 100%;height:min(66vh,560px);min-height:420px;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;color:#fff;background:#0b1620}
.rvs-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rvs-slide::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.45) 0,transparent 22%,transparent 42%,rgba(0,0,0,.88) 100%)}
/* รีวิวไม่มีรูป: พื้นไล่สี + ข้อความตัวโต */
.rvs-slide.text-only{background:radial-gradient(120% 80% at 20% 10%,#1e4d6b 0,#0b1d2b 55%,#081219 100%)}
.rvs-slide.text-only::after{background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 30%,transparent 60%,rgba(0,0,0,.5))}
.rvs-slide.text-only .rvs-cap{top:96px;bottom:auto;right:70px}
.rvs-slide.text-only .rvs-text{font-size:24px;line-height:1.45;font-weight:800;-webkit-line-clamp:8}
.rvs-slide.text-only .rvs-text::before{content:'“';display:block;font-size:64px;line-height:.6;color:#facc15;margin-bottom:10px}

.rvs-bars{position:absolute;z-index:3;top:12px;left:12px;right:12px;display:flex;gap:4px}
.rvs-bars b{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.3)}
.rvs-bars b.done,.rvs-bars b.on{background:#fff}
.rvs-counter{position:absolute;z-index:3;top:12px;right:14px;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;background:rgba(0,0,0,.4)}
.rvs-who{position:absolute;z-index:3;top:26px;left:14px;right:70px;display:flex;align-items:center;gap:8px;font-size:15px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.rvs-who b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rvs-who small{flex:none;font-size:12.5px;color:#e2e8f0;font-weight:500}
.rvs-av{position:relative;flex:none;width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#0ea5e9;color:#fff;font-weight:800;font-size:14px;border:2px solid #fff;text-shadow:none;box-sizing:border-box}

/* แตะซ้าย/ขวาของรูปเพื่อเปลี่ยนรีวิว (เหมือนสตอรี่) */
.rvs-nav{all:unset;position:absolute;z-index:2;top:70px;bottom:130px;width:28%;cursor:pointer}
.rvs-nav.prev{left:0}.rvs-nav.next{right:64px}

.rvs-cap{position:absolute;z-index:3;left:16px;right:70px;bottom:20px}
.rvs-stars{color:#facc15;font-size:16px;letter-spacing:1.5px}
.rvs-stars span{color:rgba(255,255,255,.28)}
.rvs-text{margin-top:6px;font-size:16.5px;line-height:1.5;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.6);white-space:pre-line;word-break:break-word;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.rvs-text.open{-webkit-line-clamp:unset;display:block;max-height:46vh;overflow:auto}

.rvs-side{position:absolute;z-index:3;right:10px;bottom:22px;display:flex;flex-direction:column;gap:14px;align-items:center}
.rvs-side button{all:unset;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font-size:12.5px;font-weight:800;min-width:44px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.rvs-side svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.rvs-side em{font-style:normal;font-size:26px;line-height:30px;filter:grayscale(.6) drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.rvs-side button.liked svg{fill:#ef4444;stroke:#ef4444}
.rvs-side button.funny em{filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.rvs-side button:active{transform:scale(.88)}
.rvs-side button:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:8px}

/* ---------- ใต้การ์ด: คะแนนเฉลี่ย ---------- */
.rvs-foot{margin:0 2px 100px}
.rvs-foot:empty{display:none}
.rvs-score{display:flex;align-items:baseline;gap:6px;margin-bottom:10px;color:#94a3b8;font-size:13px}
.rvs-score b{font-size:26px;font-weight:900;color:#facc15;line-height:1}
.rvs-score span{color:#facc15}
.rvx-dist{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.rvx-dist div{display:flex;flex-direction:column;gap:5px}
.rvx-dist span{font-size:11px;color:#94a3b8;font-weight:700}
.rvx-dist em{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.rvx-dist em i{display:block;height:100%;background:#facc15;border-radius:4px}

/* ---------- ปุ่มเขียนรีวิว (ลอยมุมขวาล่าง) ---------- */
.rvx-fab{position:fixed;z-index:70;right:18px;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);width:58px;height:58px;border:0;border-radius:19px;cursor:pointer;
  display:grid;place-items:center;background:#facc15;color:#1c1300;box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 4px rgba(250,204,21,.16)}
.rvx-fab svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rvx-fab:active{transform:scale(.94)}
.rvx-fab:focus-visible{outline:3px solid #fff;outline-offset:3px}
.bk-body:has(#writeReviewBox[style*="display: block"]) .rvx-fab{display:none}

/* ---------- แผ่นคอมเมนต์ ---------- */
.rvs-sheet-bg{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center;animation:rvsFade .2s ease}
.rvs-sheet{width:100%;max-width:520px;max-height:72vh;display:flex;flex-direction:column;background:#0d1a24;border-radius:22px 22px 0 0;padding:6px 14px calc(env(safe-area-inset-bottom,0px) + 14px);
  border:1px solid rgba(255,255,255,.08);animation:rvsUp .25s ease;box-sizing:border-box}
.rvs-sheet::before{content:'';display:block;width:40px;height:4px;border-radius:4px;background:#334155;margin:4px auto 8px}
.rvs-sheet-hd{display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px;color:#fff;font-size:15px}
.rvs-sheet-hd button{all:unset;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.06);color:#94a3b8}
.rvs-sheet .review-comments-box{display:flex!important;flex-direction:column;min-height:0;flex:1;margin:0!important;padding:0!important;border:0!important;background:none!important}
.rvs-sheet-list{overflow:auto;flex:1;min-height:60px;padding-bottom:6px}
.rvs-sheet-empty{text-align:center;color:#64748b;font-size:13px;padding:18px 0}
.review-comment-avatar{position:relative}
@keyframes rvsUp{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
@keyframes rvsFade{from{opacity:0}to{opacity:1}}

/* ---------- หน้าคอม: คอลัมน์กลางแคบๆ เหมือนแอปสตอรี่ ---------- */
@media(min-width:900px){
  #reviewPage .bk-body{display:block!important;max-width:520px!important;margin:0 auto!important}
  #reviewPage #reviewList{display:block!important;grid-column:auto!important}
  #reviewPage #reviewSummary,#reviewPage #reviewSummary>*{max-width:none!important;background:none!important;border:0!important;backdrop-filter:none!important}
  #reviewPage .rvs-slide{height:600px}
  .rvx-fab{right:calc(50% - 300px)}
  .rvs-sheet{border-radius:22px;margin-bottom:24px}
  .rvs-sheet-bg{align-items:center}
}
@media (prefers-reduced-motion:reduce){.rvs-sheet,.rvs-sheet-bg{animation:none}}
.rvx-fab{transition:opacity .2s,transform .2s}
.rvx-fab.hide{opacity:0;transform:scale(.6);pointer-events:none}
#reviewPage .bk-body #reviewSummary>.rvs-stories{background:none!important;border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#reviewPage .bk-hdr .chip.rvs-hdr-score{color:#facc15!important;background:rgba(250,204,21,.12)!important;border:1px solid rgba(250,204,21,.35)!important}
/* ==== css/111-book-btn.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ปุ่ม "จองที่นั่ง" ในหน้ารายละเอียดทริป — แบบแดงหรู */
#md-bookBtn.bx{display:flex!important;align-items:center;gap:12px;width:88%!important;max-width:360px!important;height:60px!important;padding:0 8px 0 8px!important;border-radius:18px!important;text-align:left;animation:none!important;overflow:hidden;isolation:isolate;font-family:inherit}
#md-bookBtn.bx .bx-ic{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center}
#md-bookBtn.bx .bx-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#md-bookBtn.bx .bx-tx{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}
#md-bookBtn.bx .bx-tx b{font-size:17px;font-weight:800;letter-spacing:.2px}
#md-bookBtn.bx .bx-tx small{font-size:12px;font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#md-bookBtn.bx .bx-go{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center}
#md-bookBtn.bx .bx-go svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
#md-bookBtn.bx::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 45%,transparent 60%);transform:translateX(-120%);animation:bxShine 3.2s ease-in-out infinite}
@keyframes bxShine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
#md-bookBtn.bx .bx-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;animation:bxPulse 1.4s ease-in-out infinite}
@keyframes bxPulse{50%{opacity:.35}}

/* แดงหรู (เปิดจอง) */
#md-bookBtn.bx.open{background:linear-gradient(135deg,#ff5a5f 0%,#e11d48 60%,#be123c 100%)!important;color:#fff!important;
  box-shadow:0 14px 30px -10px rgba(225,29,72,.7),inset 0 1px 0 rgba(255,255,255,.35),0 0 0 1px rgba(255,255,255,.12)!important}
#md-bookBtn.open .bx-ic{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
#md-bookBtn.open .bx-tx small{color:rgba(255,228,230,.92)}
#md-bookBtn.open .bx-go{background:#fff;color:#be123c}
#md-bookBtn.open .bx-dot{background:#fff}
#md-bookBtn.bx.open:active{transform:scale(.97)}

/* ที่นั่งเต็ม */
#md-bookBtn.bx.full{background:linear-gradient(135deg,rgba(30,41,59,.94),rgba(15,23,42,.96))!important;color:#e2e8f0!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 12px 26px -12px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(248,113,113,.35)!important}
#md-bookBtn.bx.full::after,#md-bookBtn.bx.soon::after{display:none}
#md-bookBtn.full .bx-ic{background:rgba(239,68,68,.14);color:#fca5a5;box-shadow:inset 0 0 0 1px rgba(248,113,113,.3)}
#md-bookBtn.full .bx-tx small{color:#94a3b8}
#md-bookBtn.full .bx-go{background:rgba(255,255,255,.08);color:#e2e8f0}
#md-bookBtn.full .bx-dot{background:#ef4444}

/* ยังไม่เปิดจอง */
#md-bookBtn.bx.soon,#md-bookBtn.bx.soon:disabled{background:linear-gradient(135deg,rgba(30,41,59,.94),rgba(15,23,42,.96))!important;color:#cbd5e1!important;cursor:default;
  box-shadow:0 12px 26px -12px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(250,204,21,.3)!important}
#md-bookBtn.soon .bx-ic{background:rgba(250,204,21,.12);color:#fde68a}
#md-bookBtn.soon .bx-tx small{color:#94a3b8}
#md-bookBtn.soon .bx-dot{background:#facc15}
@media (prefers-reduced-motion:reduce){#md-bookBtn.bx::after,#md-bookBtn.bx .bx-dot{animation:none}}
/* ==== css/109-seat-map-v2.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ================================================================
   ผังเบาะแบบใหม่ — ตัวรถเป็นกรอบมีกระจกหน้า, เบาะทรงเก้าอี้ (มีพนักพิงด้านหลัง)
   สีนุ่มลง: ว่าง = เขียวขอบเรือง, คุณเลือก = ทอง, จองแล้ว = แดงหม่น + รูปโปรไฟล์
   ================================================================ */

/* ---------- คำอธิบายสี ---------- */
.seat-legend{gap:6px 14px!important;padding:9px 12px!important;margin:12px 0 16px!important;border-radius:14px!important}
.seat-legend .leg-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1;font-weight:600}
.seat-legend .lg{width:14px;height:14px;border-radius:4px 6px 6px 4px;display:inline-block;flex:none}
.lg-empty{background:rgba(16,185,129,.18);border:1.5px solid #34d399}
.lg-sel{background:linear-gradient(145deg,#fde047,#f59e0b)}
.lg-lock{background:rgba(245,158,11,.15);border:1.5px dashed #f59e0b}
.lg-booked{background:#5b2330;border:1.5px solid #b4434f}
.lg-off{background:#0b1118;border:1.5px solid #273444}

/* ---------- หัวคัน ---------- */
.van-block-title{border-radius:16px!important}
.van-grid-header{font-size:11.5px!important;color:#64748b!important;padding:0 6px!important;margin:8px 0 6px!important}

/* ---------- ตัวรถ ---------- */
.van-grid-seats{position:relative;gap:10px!important;padding:16px 16px 16px 22px!important;
  border-radius:34px 20px 20px 34px!important;border:1.5px solid rgba(148,163,184,.22)!important;
  background:linear-gradient(90deg,rgba(56,189,248,.07),rgba(12,21,34,.92) 18%,rgba(9,16,26,.96))!important;
  box-shadow:inset 0 0 0 5px rgba(8,14,22,.55),0 10px 24px rgba(0,0,0,.35)!important}
/* กระจกหน้า (ด้านซ้าย = ด้านหน้ารถ) */
.van-grid-seats::before{content:'';position:absolute;left:5px;top:18%;bottom:18%;width:5px;border-radius:6px;
  background:linear-gradient(180deg,rgba(125,211,252,.15),rgba(125,211,252,.55),rgba(125,211,252,.15));pointer-events:none}
.van-grid-seats::after{display:none!important}

/* ---------- เบาะ ---------- */
.van-grid-seats .seat{position:relative;aspect-ratio:1/1.02!important;transform:none!important;
  border-radius:12px 16px 16px 12px!important;gap:2px;padding:4px 8px 4px 4px;
  font-weight:700;overflow:hidden;transition:transform .15s,background .2s,box-shadow .2s,border-color .2s!important}
/* พนักพิง (อยู่ด้านหลังของเบาะ = ขวา) */
.van-grid-seats .seat:not(.spacer):not(.driver)::after{content:'';position:absolute;right:4px;top:12%;bottom:12%;width:5px;border-radius:5px;background:rgba(255,255,255,.14)}
.van-grid-seats .seat .seat-id{font-size:10px!important;font-weight:700;opacity:.75;letter-spacing:.2px;line-height:1!important;margin:0!important}
.van-grid-seats .seat .seat-big{font-size:17px!important;font-weight:800;line-height:1.05!important;margin:0!important;display:flex;flex-direction:column;align-items:center}
.van-grid-seats .seat .seat-big small{font-size:9.5px;font-weight:700;opacity:.8;margin-top:1px}
.van-grid-seats .seat .seat-nick{font-size:11.5px!important;font-weight:700;line-height:1.15!important;margin:0!important;max-width:100%;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.van-grid-seats .seat .seat-ic{font-size:16px;line-height:1}

/* ว่าง */
.van-grid-seats .seat.empty{background:rgba(16,185,129,.12)!important;border:1.5px solid rgba(52,211,153,.75)!important;color:#d1fae5!important;
  box-shadow:inset 0 0 14px rgba(52,211,153,.12)!important;cursor:pointer}
.van-grid-seats .seat.empty .seat-nick{color:#6ee7b7;font-size:10.5px!important;font-weight:600}
.van-grid-seats .seat.empty::after{background:rgba(52,211,153,.35)}
.van-grid-seats .seat.empty:active{transform:scale(.95)!important}
@media(hover:hover){.van-grid-seats .seat.empty:hover{background:rgba(16,185,129,.22)!important;box-shadow:0 0 0 3px rgba(52,211,153,.18),inset 0 0 14px rgba(52,211,153,.2)!important}}

/* คุณเลือก */
.van-grid-seats .seat.empty.selected,.van-grid-seats .seat.selected{background:linear-gradient(145deg,#fde047,#f59e0b)!important;border:1.5px solid #fde68a!important;color:#1c1300!important;
  box-shadow:0 0 0 3px rgba(250,204,21,.25),0 6px 16px rgba(245,158,11,.35)!important;animation:seatBeat 1.1s ease-in-out infinite!important}
/* เต้นตุบๆ แบบหัวใจ (ใช้ scale แยก ไม่ชนกับ transform ของเบาะ) + เรืองทองเป็นจังหวะ */
@keyframes seatBeat{0%,100%{scale:1;box-shadow:0 0 0 3px rgba(250,204,21,.25),0 6px 16px rgba(245,158,11,.35)}14%{scale:1.07;box-shadow:0 0 0 5px rgba(250,204,21,.35),0 0 22px rgba(250,204,21,.6)}28%{scale:.99}42%{scale:1.05;box-shadow:0 0 0 4px rgba(250,204,21,.3),0 0 18px rgba(250,204,21,.5)}60%{scale:1}}
@media (prefers-reduced-motion:reduce){.van-grid-seats .seat.selected{animation:none!important}}
.van-grid-seats .seat.selected .seat-nick{display:none!important}
.van-grid-seats .seat.selected .seat-big::after{content:'✓ เลือก';display:block;margin-top:3px;font-size:10.5px;font-weight:800;color:#3b2a00}
.van-grid-seats .seat.selected::after{background:rgba(120,72,0,.35)}

/* จองแล้ว */
.van-grid-seats .seat.booked{background:linear-gradient(160deg,#4a1d28,#3a1620)!important;border:1.5px solid rgba(239,68,68,.45)!important;color:#fecaca!important;box-shadow:none!important;cursor:not-allowed}
.van-grid-seats .seat.booked::after{background:rgba(239,68,68,.3)}
.van-grid-seats .seat .seat-av{position:relative;flex:none;width:26px;height:26px;margin:2px 0 1px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  font-size:12px;font-weight:800;color:#fff;background:linear-gradient(145deg,#f87171,#b91c1c);border:1.5px solid rgba(255,255,255,.35)}
.van-grid-seats .seat .seat-av i{position:absolute;inset:0;background:center/cover no-repeat}
.van-grid-seats .seat.booked .seat-nick{color:#fee2e2}

/* มีคนกำลังเลือก */
.van-grid-seats .seat.locking{background:rgba(245,158,11,.1)!important;border:1.5px dashed rgba(245,158,11,.8)!important;color:#fde68a!important;box-shadow:none!important}
.van-grid-seats .seat.locking .seat-nick{font-size:10px!important}
.van-grid-seats .seat.locking::after{background:rgba(245,158,11,.3)}

/* งดจอง / ตู้ปิด */
.van-grid-seats .seat.hidden-seat{background:repeating-linear-gradient(135deg,#0b1118 0 6px,#0e1620 6px 12px)!important;border:1.5px solid #1f2b3a!important;box-shadow:none!important}
.van-grid-seats .seat.hidden-seat::after{background:rgba(255,255,255,.05)}

/* คนขับ */
.van-grid-seats .seat.driver{background:transparent!important;border:1.5px dashed rgba(148,163,184,.25)!important;color:#64748b!important;box-shadow:none!important}
.van-grid-seats .seat .seat-wheel{width:24px;height:24px;border-radius:50%;border:3px solid #64748b;position:relative;margin-bottom:2px}
.van-grid-seats .seat .seat-wheel::before{content:'';position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#64748b}
.van-grid-seats .seat .seat-wheel::after{content:'';position:absolute;left:1px;right:1px;top:50%;height:3px;margin-top:-1.5px;background:#64748b}

/* ไฮไลต์เบาะจากประวัติการจอง */
.van-grid-seats .seat.seat-highlight-pulse{box-shadow:0 0 0 3px #38bdf8,0 0 18px rgba(56,189,248,.6)!important}

@media(min-width:900px){
  .van-grid-seats{gap:8px!important;padding:12px 12px 12px 18px!important}
  .van-grid-seats .seat .seat-big{font-size:18px!important}
  .van-grid-seats .seat .seat-nick{font-size:12px!important}
  .van-grid-seats .seat.empty .seat-nick{font-size:11px!important}
  .van-grid-seats .seat .seat-av{width:28px;height:28px;font-size:12px}
}
/* หน้าคอม: เดิมล็อกความสูงเบาะไว้ 66px → ให้เป็นทรงเดียวกับมือถือ */
@media(min-width:900px){#bookingPage2 .van-grid-seats .seat{height:auto!important;aspect-ratio:1/1!important;border-radius:12px 16px 16px 12px!important}}

/* ---------- สวิตช์เปิด/ปิดตู้ (แอดมิน) ---------- */
#van1ToggleWrap,#van3ToggleWrap,#van2ToggleWrap,#van3ToggleWrap,#vanonsiteToggleWrap,#vanonsiteToggleWrap{gap:8px!important;padding:5px 6px 5px 12px!important;right:8px!important;border-radius:999px!important;
  background:rgba(16,185,129,.12);border:1px solid rgba(52,211,153,.45);font-size:12px!important;font-weight:800!important;color:#6ee7b7!important;
  transition:background .2s,border-color .2s,color .2s;user-select:none;-webkit-tap-highlight-color:transparent}
#van1ToggleWrap.is-off,#van2ToggleWrap.is-off,#van3ToggleWrap.is-off,#vanonsiteToggleWrap.is-off{background:rgba(239,68,68,.12);border-color:rgba(248,113,113,.5);color:#fca5a5!important}
#van1ToggleWrap .van3-switch,#van2ToggleWrap .van3-switch,#van3ToggleWrap .van3-switch,#vanonsiteToggleWrap .van3-switch{width:46px;height:26px}
#van1ToggleWrap .van3-switch-slider,#van2ToggleWrap .van3-switch-slider,#van3ToggleWrap .van3-switch-slider,#vanonsiteToggleWrap .van3-switch-slider{background:#7f1d1d;border-radius:26px;transition:background .15s ease;box-shadow:inset 0 1px 3px rgba(0,0,0,.4)}
#van1ToggleWrap .van3-switch-slider::before,#van2ToggleWrap .van3-switch-slider::before,#van3ToggleWrap .van3-switch-slider::before,#vanonsiteToggleWrap .van3-switch-slider::before{content:'✕';display:grid;place-items:center;width:20px;height:20px;left:3px;bottom:3px;
  font-size:11px;font-weight:900;color:#b91c1c;background:#fff;transition:transform .15s ease}
#van1ToggleWrap input:checked+.van3-switch-slider,#van2ToggleWrap input:checked+.van3-switch-slider,#van3ToggleWrap input:checked+.van3-switch-slider,#vanonsiteToggleWrap input:checked+.van3-switch-slider{background:#10b981}
#van1ToggleWrap input:checked+.van3-switch-slider::before,#van2ToggleWrap input:checked+.van3-switch-slider::before,#van3ToggleWrap input:checked+.van3-switch-slider::before,#vanonsiteToggleWrap input:checked+.van3-switch-slider::before{content:'✓';color:#059669;transform:translateX(20px)}
/* กำลังบันทึกเบื้องหลัง: จุดกะพริบเล็กๆ (สวิตช์เปลี่ยนไปแล้ว ไม่ต้องรอ) */
#van1ToggleWrap.is-saving::after,#van2ToggleWrap.is-saving::after,#van3ToggleWrap.is-saving::after,#vanonsiteToggleWrap.is-saving::after{content:'';position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:#facc15;animation:vanSave 1s ease-in-out infinite}
@keyframes vanSave{0%,100%{opacity:.3}50%{opacity:1}}
/* แอดมินเห็นสวิตช์ → ย้ายชื่อคันไปชิดซ้าย ไม่ให้ทับกัน */
.van-block-title:has(> label[style*="display: flex"]){text-align:left!important;justify-content:flex-start!important;padding-left:16px!important;padding-right:170px!important}

/* ---------- หัวคัน (ชื่อคัน + ตู้ + จำนวนที่ว่าง) ---------- */
.van-block-title.vt{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;text-align:left!important;
  margin:0 0 4px!important;padding:2px 4px!important;min-height:40px;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  font-size:16px!important;color:#e2e8f0!important}
.vt-ic{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:11px;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.3);color:#7dd3fc}
.vt-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vt-name{font-weight:800;font-size:16px;color:#f1f5f9}
.vt-tag{padding:2px 8px;border-radius:7px;background:rgba(148,163,184,.14);color:#cbd5e1;font-size:12px;font-weight:700}
.vt-count{padding:3px 9px;border-radius:99px;font-size:11.5px;font-weight:800;white-space:nowrap}
.vt-count:empty{display:none}
.vt-count.ok{background:rgba(16,185,129,.14);color:#6ee7b7}
.vt-count.low{background:rgba(250,204,21,.14);color:#fde68a}
.vt-count.full{background:rgba(239,68,68,.16);color:#fca5a5}
.vt-count.off{background:rgba(100,116,139,.2);color:#94a3b8}
/* สวิตช์แอดมินอยู่ท้ายแถวเดียวกัน (ไม่ลอยทับ) */
.van-block-title.vt>label{position:static!important;transform:none!important;margin-left:auto!important}
.van-block-title.vt:has(> label[style*="display: flex"]){padding-right:4px!important}
@media(max-width:380px){.vt-tag{display:none}}
/* หัวคันมีกล่อง (โทนเดียวกับตัวรถ) */
.van-block-title.vt{padding:8px 10px!important;min-height:52px;border-radius:16px!important;margin-bottom:6px!important;
  background:linear-gradient(90deg,rgba(56,189,248,.10),rgba(12,21,34,.9) 45%)!important;border:1px solid rgba(148,163,184,.2)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.25)!important}
.van-block-title.vt:has(> label[style*="display: flex"]){padding-right:8px!important}
.vt-name,.vt-tag,.vt-count,.van-block-title.vt>label span{white-space:nowrap}
.van-block-title.vt>label{flex:none}
@media(max-width:899px){
  .van-block-title.vt:has(> label[style*="display: flex"]){gap:6px!important}
  .van-block-title.vt:has(> label[style*="display: flex"]) .vt-tag{display:none}
  .van-block-title.vt:has(> label[style*="display: flex"]) .vt-ic{width:30px;height:30px}
  .van-block-title.vt>label{padding:4px 5px 4px 10px!important;font-size:11.5px!important;gap:6px!important}
}
/* จองแล้ว: ชื่อเล่นอย่างเดียว ตัวใหญ่ขึ้น ตัดบรรทัดได้ 2 บรรทัด */
.van-grid-seats .seat.booked{gap:5px}
.van-grid-seats .seat .seat-nick.seat-nick-lg{font-size:13px!important;font-weight:800;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2!important;text-align:center;word-break:break-word}
@media(min-width:900px){.van-grid-seats .seat .seat-nick.seat-nick-lg{font-size:13.5px!important}}

/* ช่องหน้างานที่ปิดอยู่ (แอดมินเห็นเท่านั้น) */
.onsite-slot.closed{background:repeating-linear-gradient(135deg,#0f1722 0 8px,#141e2b 8px 16px)!important;color:#475569!important;box-shadow:none!important;cursor:not-allowed;border:1px solid rgba(148,163,184,.12)}
#onsiteBlock .vt-ic svg{stroke-width:1.8}
/* ==== css/199-desktop-refresh.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ======================================================================
   เวอร์ชันคอม (≥1024px) — ปรับให้เข้าชุดกับหน้ามือถือแบบใหม่
   พื้นหลังป่า · สไลด์หัวเว็บ 3 รูป · ปุ่มหลักทอง/มินต์ · การ์ดทริปประจำเดือน/ศูนย์รวมทริป
   โหลดหลังสุด ทับไฟล์ 70/98/99 เฉพาะจอคอม (มือถือไม่เปลี่ยน)
   ====================================================================== */
@media (min-width:1024px){
  /* ---------- พื้นหลังป่า (ชุดเดียวกับป๊อปอัปศูนย์รวมทริป) ---------- */
  body.desktop-app-mounted{background:#03090e!important}
  #desktopApp .desk-stage{
    background:linear-gradient(180deg,rgba(3,10,15,.78),rgba(2,8,12,.9) 55%,rgba(2,8,12,.96)),
      var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-1800.jpg')) center top/cover no-repeat fixed!important;
  }
  #desktopApp .desk-side{background:linear-gradient(180deg,rgba(5,14,20,.94),rgba(3,10,15,.97))!important;border-right:1px solid rgba(81,194,229,.14)!important}
  #desktopApp .desk-top{background:linear-gradient(180deg,rgba(3,10,15,.82),rgba(3,10,15,.55))!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(81,194,229,.12)!important}
  #desktopApp .desk-nav-button.active{border-color:rgba(94,234,212,.45)!important;background:linear-gradient(135deg,rgba(94,234,212,.14),rgba(94,234,212,.03))!important}
  #desktopApp .desk-nav-button.active svg{stroke:#5eead4!important}
  #desktopApp .desk-top-actions .desk-contact{border-color:rgba(94,234,212,.4)!important;background:rgba(94,234,212,.1)!important;color:#bff7ec!important}

  /* ---------- หัวเว็บ: สไลด์ (ซ้าย) + การ์ดทักทาย/ขั้นตอน (ขวา) ---------- */
  #desktopApp .desk-home-hero.dh2{
    height:auto!important;display:grid!important;grid-template-columns:minmax(0,1.72fr) minmax(300px,1fr);gap:18px;
    overflow:visible!important;border:0!important;background:none!important;box-shadow:none!important;margin-bottom:22px!important;
  }
  #desktopApp .desk-home-hero.dh2[hidden]{display:none!important}
  #desktopApp .dh-slider{position:relative;aspect-ratio:1600/841;overflow:hidden;border-radius:22px;border:1px solid rgba(81,194,229,.25);background:#06121a;box-shadow:0 24px 60px rgba(0,0,0,.45)}
  #desktopApp .dh-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
  #desktopApp .dh-slider img.on{opacity:1}
  #desktopApp .dh-dots{position:absolute;right:16px;bottom:14px;z-index:2;display:flex;gap:6px}
  #desktopApp .dh-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.4);cursor:pointer;transition:width .3s,background .3s}
  #desktopApp .dh-dots button.on{width:26px;background:#5eead4}

  #desktopApp .dh-panel{
    position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:24px 22px 20px;border-radius:22px;
    border:1px solid rgba(81,194,229,.25);
    background:linear-gradient(180deg,rgba(3,12,18,.55),rgba(2,10,15,.86)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat;
    box-shadow:0 24px 60px rgba(0,0,0,.45);overflow:hidden;
  }
  #desktopApp .dh2 .desk-hero-copy{position:static!important;width:auto!important}
  #desktopApp .dh2 .desk-hero-copy>small{color:#5eead4!important;font-size:11px!important;letter-spacing:1.4px!important}
  #desktopApp .dh2 #deskGreeting{flex-wrap:wrap;gap:14px!important}
  #desktopApp .dh2 #deskGreeting>img{width:62px!important;height:62px!important;min-width:62px!important;border-color:rgba(94,234,212,.7)!important}
  #desktopApp .dh2 #deskGreeting :is(h1,h2,.greet-title){font-size:clamp(21px,1.75vw,28px)!important}
  #desktopApp .dh2 #deskGreeting :is(p,.greet-sub){color:#c3d3dc!important;font-size:13px!important}
  #desktopApp .dh2 #deskGreeting>div:nth-child(2){flex:1 1 calc(100% - 80px)!important}
  #desktopApp .dh2 #deskGreeting>div:first-child{width:56px!important;height:56px!important;font-size:24px!important}
  #desktopApp .dh2 #deskGreeting>button{margin-left:70px;min-height:44px!important;padding:0 20px!important;border-radius:12px!important;border:0!important;background:linear-gradient(135deg,#2dd4bf,#0d9488)!important;color:#03211f!important;font-weight:800!important;font-size:13px!important}

  /* ขั้นตอนการจอง: วงกลมไอคอนเชื่อมด้วยเส้น แบบเดียวกับมือถือ */
  #desktopApp .dh2 .desk-hero-flow{
    position:static!important;width:auto!important;padding:14px 10px 12px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
    border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;background:rgba(3,10,16,.55)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  }
  #desktopApp .dh2 .desk-hero-flow span{flex:0 0 auto;display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;min-width:58px;color:#dbe7ee!important;font-size:11.5px!important;font-weight:700}
  #desktopApp .dh2 .desk-hero-flow em{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7dd3fc,#0ea5e9);box-shadow:0 0 0 4px rgba(14,165,233,.16),0 8px 18px rgba(14,165,233,.3)}
  #desktopApp .dh2 .desk-hero-flow em svg{width:20px;height:20px;fill:none;stroke:#04263a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  #desktopApp .dh2 .desk-hero-flow b{display:none}
  #desktopApp .dh2 .desk-hero-flow i{flex:1;height:2px!important;margin-top:20px;border-radius:2px;background:linear-gradient(90deg,rgba(125,211,252,.5),rgba(125,211,252,.15))!important;width:auto!important}

  /* ---------- ปุ่มหลัก 3 ปุ่ม ---------- */
  #desktopApp .home-quick-actions.qa-lux{gap:14px!important;margin:0 0 6px!important}
  #desktopApp .qa-lux .qa-mini{
    position:relative;min-height:92px!important;padding:16px 46px 16px 18px!important;display:grid!important;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:14px;align-content:center;align-items:center;
    border:1px solid rgba(255,255,255,.1)!important;border-radius:18px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.02))!important;
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 14px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)!important;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s!important
  }
  #desktopApp .qa-lux .qa-mini:hover{transform:translateY(-3px)!important;border-color:rgba(94,234,212,.45)!important;box-shadow:0 20px 40px rgba(0,0,0,.35)!important}
  #desktopApp .qa-lux .qa-mini::before{content:'›';position:absolute;right:18px;top:50%;transform:translateY(-52%);font-size:26px;font-weight:700;color:rgba(255,255,255,.45)}
  #desktopApp .qa-lux .qa-mini-ico{grid-row:1/3;width:54px!important;height:54px!important;margin:0!important;border-radius:50%!important;background:rgba(94,234,212,.08)!important;border:1px solid rgba(94,234,212,.4)!important;color:#7ff0dc!important}
  #desktopApp .qa-lux .qa-mini-ico svg{width:24px!important;height:24px!important}
  #desktopApp .qa-lux .qa-mini-label{grid-column:2;align-self:end;font-size:17px!important;font-weight:800!important;color:#f4f8fa!important}
  #desktopApp .qa-lux .qa-mini::after{grid-column:2;align-self:start;margin-top:3px;font-size:12px;color:#9fb3bd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #desktopApp .qa-lux .qa-trip-mini::after{content:'เลือกทริป · เลือกที่นั่ง · จ่ายมัดจำ'}
  #desktopApp .qa-lux .qa-rent-mini::after{content:'เต็นท์ ถุงนอน แผ่นรองนอน'}
  #desktopApp .qa-lux .qa-mytrips-mini::after{content:'รีวิวและรูปจากเพื่อนร่วมทริป'}
  #desktopApp .qa-lux .qa-trip-mini{border-color:rgba(232,196,120,.5)!important;background:linear-gradient(135deg,rgba(232,196,120,.16),rgba(232,196,120,.03))!important}
  #desktopApp .qa-lux .qa-trip-mini .qa-mini-ico{background:linear-gradient(145deg,#f3d48a,#c08a35)!important;border:0!important;color:#2a1c05!important;box-shadow:0 8px 20px rgba(192,138,53,.4)}
  #desktopApp .qa-lux .qa-mytrips-mini .qa-mini-ico{background:rgba(125,211,252,.08)!important;border-color:rgba(125,211,252,.4)!important;color:#9adcff!important}

  /* ---------- แผงค้นหา + ทริปประจำเดือน / ศูนย์รวมทริป ---------- */
  #desktopApp .hte{max-width:none!important;margin:16px 0 22px!important;padding:14px!important;border-radius:22px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015))!important;border:1px solid rgba(255,255,255,.09)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  #desktopApp .hte-search{height:52px!important;border-radius:15px!important;background:rgba(3,10,16,.62)!important;border:1px solid rgba(255,255,255,.1)!important}
  #desktopApp .hte-search input{font-size:15px!important}
  #desktopApp .hte-actions{gap:12px!important;margin-top:12px!important}
  #desktopApp .hte .hte-tile{aspect-ratio:auto!important;height:104px!important;min-height:0!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.1)!important;transition:transform .2s,border-color .2s}
  #desktopApp .hte .hte-tile:hover{transform:translateY(-2px);border-color:rgba(94,234,212,.5)!important}
  #desktopApp .hte .hte-tile::after{background:linear-gradient(90deg,rgba(6,11,19,.94) 32%,rgba(6,11,19,.35))!important}
  #desktopApp .hte .hte-tile::before{top:50%!important;right:16px!important;transform:translateY(-50%);font-size:26px!important}
  #desktopApp .hte-tile-body{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;padding:0 44px 0 16px!important}
  #desktopApp .hte-tile-icon{position:static!important;flex:none;width:48px!important;height:48px!important;border-radius:14px!important;color:#7ff0dc!important;background:rgba(6,11,19,.6)!important;border:1px solid rgba(94,234,212,.3)!important}
  #desktopApp .hte-tile-icon svg{width:24px;height:24px;fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  #desktopApp .hte-tile-text{display:flex;flex-direction:column;min-width:0}
  #desktopApp .hte-tile-body strong{font-size:18px!important;white-space:nowrap}
  #desktopApp .hte-tile-body small{font-size:12.5px!important;margin-top:3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #desktopApp .hte .hte-tile.hub-tile,#desktopApp .hte [data-home-trip-mode=hub]{border-color:rgba(232,196,120,.55)!important}

  /* ---------- การ์ดด้านขวา + การ์ดทริป ให้โปร่งเห็นป่าเหมือนกัน ---------- */
  #desktopApp .pc-support :is(.stat-bar,a){background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02))!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:18px!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  #desktopApp .trip-hcard2{border-radius:18px!important;border-color:rgba(255,255,255,.1)!important}
  #desktopApp .trip-hcard2:hover{border-color:rgba(94,234,212,.45)!important}
  #desktopApp .sec-hdr :is(h2,div:first-child){font-size:22px!important}

  /* ---------- หน้าต้อนรับ: สไลด์รูปเต็มกรอบ ---------- */
  #desktopApp .desk-landing{background:linear-gradient(180deg,rgba(3,10,15,.8),rgba(2,8,12,.94)),var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-1800.jpg')) center/cover no-repeat!important}
  #desktopApp .desk-landing-art{display:flex;align-items:center;justify-content:center;padding:28px;border-color:rgba(81,194,229,.22)!important;background:rgba(3,10,16,.45)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  #desktopApp .desk-landing-art::after{display:none!important}
  #desktopApp .dh-slider.dh-land{width:100%;max-height:100%;border-radius:20px}
  #desktopApp .desk-landing-menu button{background:rgba(6,16,22,.62)!important;border-color:rgba(255,255,255,.1)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  #desktopApp .desk-landing-menu button:hover{border-color:rgba(94,234,212,.5)!important}
  #desktopApp .desk-landing-menu svg{stroke:#5eead4!important}
  #desktopApp .desk-landing-intro>small{color:#5eead4!important}
}
@media (min-width:1024px) and (max-width:1279px){
  #desktopApp .desk-home-hero.dh2{grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);gap:14px}
  #desktopApp .dh-panel{padding:16px 14px 14px;gap:10px}
  #desktopApp .dh2 #deskGreeting>div:first-child{width:44px!important;height:44px!important;font-size:20px!important}
  #desktopApp .dh2 #deskGreeting>div:nth-child(2){flex:1 1 calc(100% - 60px)!important}
  #desktopApp .dh2 #deskGreeting :is(h1,h2,.greet-title){font-size:18px!important}
  #desktopApp .dh2 #deskGreeting :is(p,.greet-sub){font-size:12px!important}
  #desktopApp .dh2 #deskGreeting>button{margin-left:58px;min-height:38px!important}
  #desktopApp .dh2 .desk-hero-flow{padding:10px 6px!important}
  #desktopApp .dh2 .desk-hero-flow span{min-width:48px;font-size:10.5px!important}
  #desktopApp .dh2 .desk-hero-flow em{width:34px;height:34px}
  #desktopApp .dh2 .desk-hero-flow em svg{width:17px;height:17px}
  #desktopApp .dh2 .desk-hero-flow i{margin-top:16px}
  #desktopApp .qa-lux .qa-mini::after{display:none}
  #desktopApp .qa-lux .qa-mini{min-height:76px!important}
  #desktopApp .qa-lux .qa-mini-label{grid-row:1/3;align-self:center}
  /* จอกลาง: หน้าหลักเรียงเป็นคอลัมน์เดียว (เดิมการ์ดด้านขวาดันจนปุ่มบีบเหลือคอลัมน์แคบ) */
  #desktopApp #homeContent .pc-main,#desktopApp #homeContent .pc-support,#desktopApp #homeContent .pc-toolbar{grid-column:1/-1!important}
}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){#desktopApp .dh-slider img{transition:none}}

/* ======================================================================
   ทุกหน้าบนคอม — ธีมป่าเดียวกัน
   ====================================================================== */
@media (min-width:1024px){
  /* ---------- หน้าเต็มจอ (จองที่นั่ง เช่าของ รีวิว ใบเสร็จ): พื้นป่าแทนรูปหัวเว็บเก่า ---------- */
  #bookingPage2,#equipPage,#reviewPage,#successPage2,#equipReceiptPage{
    background:linear-gradient(180deg,rgba(3,10,15,.82),rgba(2,8,12,.95)),
      var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-1800.jpg')) center/cover no-repeat fixed!important;
  }
  :is(#bookingPage2,#equipPage,#reviewPage) .bk-hdr{background:rgba(3,10,15,.72)!important;border-bottom-color:rgba(81,194,229,.14)!important}
  :is(#bookingPage2,#equipPage,#reviewPage) .btn-back:hover{border-color:rgba(94,234,212,.5)!important;color:#fff!important}
  :is(#bookingPage2,#equipPage,#reviewPage) .chip-green{background:rgba(94,234,212,.12)!important;border:1px solid rgba(94,234,212,.4)!important;color:#7ff0dc!important}
  :is(#equipPage,#reviewPage) .eq-item-card,#reviewPage .review-card,#equipPage .eq-trip-card,#equipPage .eq-summary-card,#reviewPage #reviewSummary>*{
    background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02))!important;border:1px solid rgba(255,255,255,.1)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
  }
  :is(#equipPage,#reviewPage) .bk-body>div:first-child h2{font-size:28px!important}
  #equipPage .eq-sec-title{margin-top:22px!important;color:#e8c478!important}
  #equipPage .sticky-bar,#bookingPage2 .sticky-bar{background:linear-gradient(0deg,rgba(2,8,12,.96),rgba(2,8,12,.7))!important;border-top:1px solid rgba(81,194,229,.14)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

  /* ---------- หน้าเข้าสู่ระบบ: เต็มจอ แบรนด์ซ้าย การ์ดขวา ---------- */
  #loginPage:not(.hidden){
    inset:0!important;width:auto!important;max-width:none!important;margin:0!important;
    grid-template-columns:minmax(0,560px) minmax(0,460px)!important;justify-content:center!important;gap:72px!important;padding:60px!important;
    background:linear-gradient(90deg,rgba(2,8,12,.72),rgba(2,8,12,.9)),
      var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-1800.jpg')) center/cover no-repeat!important;
  }
  #loginPage::before{display:none!important}
  #loginPage .login-logo{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important}
  #loginPage .login-logo img{width:120px!important;height:120px!important;margin-bottom:22px!important;border-radius:50%;box-shadow:0 0 0 6px rgba(94,234,212,.12),0 20px 50px rgba(0,0,0,.5)}
  #loginPage .login-logo h1{font-size:44px!important;line-height:1.2!important;background:linear-gradient(90deg,#fff,#7ff0dc);-webkit-background-clip:text;background-clip:text;color:transparent!important}
  #loginPage .login-logo p{font-size:18px!important;color:#c3d3dc!important}
  #loginPage .login-logo::after{
    content:'🚐  จองที่นั่งรถตู้เรียลไทม์\A 📸  แนบสลิป ตรวจยอดอัตโนมัติ\A 🛡️  ประกันอุบัติเหตุทุกทริป\A 🏕️  เช่าอุปกรณ์แคมป์ครบจบ'!important;
    white-space:pre!important;margin-top:28px!important;padding:18px 22px!important;border-radius:18px;border:1px solid rgba(255,255,255,.1);
    background:rgba(3,10,16,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#dbe7ee!important;font-size:15px!important;line-height:2.2!important
  }
  #loginPage .login-card{max-width:460px!important;border-radius:26px!important;border:1px solid rgba(81,194,229,.3)!important;
    background:linear-gradient(180deg,rgba(3,12,18,.7),rgba(2,10,15,.9))!important;backdrop-filter:blur(16px)!important;box-shadow:0 36px 90px rgba(0,0,0,.55)!important}

  /* ---------- หน้าหลักส่วนล่าง ---------- */
  #desktopApp .home-duo{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
  #desktopApp .home-duo .home-duo-card{position:relative;width:100%!important;aspect-ratio:auto!important;height:132px!important;min-height:0!important;overflow:hidden;border-radius:18px!important;border:1px solid rgba(255,255,255,.1)!important;cursor:pointer;transition:transform .2s,border-color .2s}
  #desktopApp .home-duo .home-duo-card:hover{transform:translateY(-2px);border-color:rgba(94,234,212,.5)!important}
  #desktopApp .home-duo .home-duo-card>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
  #desktopApp .home-duo .home-duo-card::before{top:50%!important;right:18px!important;transform:translateY(-50%);font-size:26px!important}
  #desktopApp .home-duo .home-duo-card::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,11,19,.94) 30%,rgba(6,11,19,.3))}
  #desktopApp .home-duo .home-duo-body{position:absolute!important;inset:0!important;z-index:1;display:grid!important;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:14px;align-content:center;padding:0 20px!important;background:none!important}
  #desktopApp .home-duo .home-duo-icon{position:static!important;grid-row:1/3;width:52px;height:52px;display:grid!important;place-items:center;border-radius:15px;background:rgba(6,11,19,.6);border:1px solid rgba(94,234,212,.3);font-size:24px}
  #desktopApp .home-duo .home-duo-title{align-self:end;font-size:19px!important;font-weight:800;color:#fff!important}
  #desktopApp .home-duo .home-duo-sub{align-self:start;font-size:12.5px!important;color:#c3d3dc!important}
  #desktopApp .situation-entry-card,#desktopApp .home-learning>*,#desktopApp #topTravelersPodium{border-radius:20px!important;border-color:rgba(255,255,255,.1)!important}
  #desktopApp #pastList .trip-cycle-slide{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;transform:none!important}
  #desktopApp #pastList .trip-hcard2{height:220px!important;margin:0!important}
  #desktopApp #pastList{height:auto!important}
  #desktopApp .past-card{border-radius:16px!important;border:1px solid rgba(255,255,255,.1)!important}

  /* ---------- หน้าทริปทั้งหมด ---------- */
  #desktopApp #tab-trips .search-wrap{width:min(640px,100%)!important;height:54px!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(3,10,16,.62)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  #desktopApp #tab-trips .search-wrap input{font-size:15px!important}
  #desktopApp #tripListFull{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:start}
  #desktopApp #tripListFull>:is(.sec-hdr,.divider,.trip-list,p,div:not(.month-group)){grid-column:1/-1}
  #desktopApp #tripListFull .month-group{margin:0!important}
  #desktopApp #tripListFull .month-photo-card{position:relative;height:220px!important;margin:0!important;overflow:hidden;border-radius:20px!important;border:1px solid rgba(255,255,255,.1)!important;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}
  #desktopApp #tripListFull .month-photo-card:hover{transform:translateY(-3px);border-color:rgba(94,234,212,.5)!important;box-shadow:0 20px 40px rgba(0,0,0,.4)}
  #desktopApp #tripListFull .month-photo-card>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
  #desktopApp #tripListFull .month-photo-card-overlay{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;padding:16px 18px!important;background:linear-gradient(180deg,rgba(3,9,15,.55),rgba(3,9,15,.15) 40%,rgba(3,9,15,.92))!important}
  #desktopApp #tripListFull .month-photo-card-title{font-size:19px!important;font-weight:800}
  #desktopApp #tripListFull .month-group-count{background:rgba(94,234,212,.16)!important;border:1px solid rgba(94,234,212,.45)!important;color:#7ff0dc!important}
  #desktopApp #tripListFull .month-trip-name-item{font-size:13.5px!important;color:#e2e8f0!important;padding:2px 0}
  #desktopApp #tripListFull .trip-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
  #desktopApp #tripListFull .trip-list .trip-hcard2{height:230px!important;margin:0!important;display:block!important}
  #desktopApp #tripListFull .trip-list .thc-photo{position:relative!important;width:100%!important;height:100%!important}
  #desktopApp #tripListFull .trip-list .thc-photo>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
  #desktopApp #tripListFull .trip-list .thc-overlay{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:16px!important;background:linear-gradient(0deg,rgba(3,9,15,.95),rgba(3,9,15,.05) 70%)!important}
  #desktopApp #tripListFull .sec-hdr{margin:10px 0 0!important}

  /* ---------- หน้าโปรไฟล์ ---------- */
  #desktopApp #myContent :is(.my-profile,.my-stats,.my-menu-card,.profile-card,.my-section){backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  #desktopApp #myContent .trip-hcard2{border-radius:18px!important}

  /* ---------- เผื่อจำเป็น / ประกาศ ---------- */
  #desktopApp #notifContent .prep-item-card{background:linear-gradient(120deg,rgba(255,255,255,.07),rgba(255,255,255,.02))!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:18px!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s,border-color .2s}
  #desktopApp #notifContent .prep-item-card:hover{transform:translateX(3px);border-color:rgba(94,234,212,.5)!important}
  #desktopApp #notifContent .learning-summary-card{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02))!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:20px!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

  /* ---------- ป๊อปอัปรายละเอียดทริป ---------- */
  #modalBg .modal-sheet{border:1px solid rgba(81,194,229,.3)!important;border-radius:26px!important;
    background:linear-gradient(180deg,rgba(3,12,18,.9),rgba(2,10,15,.96)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover!important;box-shadow:0 40px 100px rgba(0,0,0,.6)!important}
}
@media (min-width:1024px) and (max-width:1279px){
  #desktopApp #tripListFull,#desktopApp #tripListFull .trip-list,#desktopApp #pastList .trip-cycle-slide{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #loginPage:not(.hidden){grid-template-columns:minmax(0,1fr) minmax(0,400px)!important;gap:40px!important;padding:40px!important}
  #loginPage .login-logo h1{font-size:34px!important}
}
@media (min-width:1700px){
  #desktopApp #tripListFull,#desktopApp #tripListFull .trip-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
/* ==== css/113-perf.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · ห้ามคัดลอก ดัดแปลง หรือนำไปใช้โดยไม่ได้รับอนุญาต · TNH-ECAEB7B82022 */
/* ================================================================
   ทำให้เว็บลื่นขึ้น (โหลดไฟล์นี้ท้ายสุด) — หน้าตาเหมือนเดิม
   ================================================================ */

/* 1) แอนิเมชันที่บังคับให้จอวาดใหม่ทุกเฟรม → เปลี่ยนเป็นแบบที่การ์ดจอทำเอง */
/* กล่องศูนย์รวมทริป: แสงกระพริบ (box-shadow) → แสงคงที่ ส่วนเส้นแสงวิ่งรอบกล่องยังอยู่ */
.hte .hte-tile[data-home-trip-mode="hub"]{animation:none!important;box-shadow:0 0 0 1px rgba(255,59,59,.38),0 0 16px rgba(255,40,40,.32)!important}
.hub-glow::before{will-change:transform}
/* ป้าย "ใหม่": แสงวิ่ง (เลื่อน left) → เลื่อนด้วย transform */
.hub-new::after{left:0!important;animation-name:tnhHubShineT!important;will-change:transform}
@keyframes tnhHubShineT{0%,55%{transform:translateX(-150%) skewX(-20deg)}85%,100%{transform:translateX(330%) skewX(-20deg)}}

/* 2) มือถือ: เลิกเบลอพื้นหลังของชิ้นเล็กๆ ที่อยู่ในเนื้อหา (มี 50+ ชิ้นในแถวการ์ดทริป)
      เบลอแบบนี้กินแรงเครื่องมากตอนเลื่อน/ปัด เก็บไว้เฉพาะแถบเมนูล่างและหน้าต่างที่ลอยอยู่ */
@media (max-width:899px){
  .thc-status-pill,.thc-pickup-pill,.thc-countdown,.thc-seats-pill,
  .home-step-icon,.hte-tile-icon,.home-duo-icon,.hdr-btn,.qa-mini,.hte-search,.ann-learning,
  .trip-card *,.thc *,#homeContent .sec-hdr,#homeContent .calendar-entry-card{
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .thc-status-pill,.thc-pickup-pill{background-color:rgba(4,12,18,.62)}

  /* 3) ส่วนล่างของหน้าแรกที่ยังไม่เลื่อนถึง: ยังไม่ต้องคำนวณ/วาด (เลื่อนถึงแล้วค่อยวาด) */
  #homeContent > :nth-child(n+6){content-visibility:auto;contain-intrinsic-size:auto 220px}
  /* รายการทริปในหน้า "ทริปทั้งหมด" */
  #tripListFull > *{content-visibility:auto;contain-intrinsic-size:auto 260px}
}
/* ==== css/114-booking-receipt.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ใบยืนยันการจอง — js/142-booking-receipt.js */
.tnh-rc{position:relative;width:100%;max-width:380px;margin:0 auto;color:#0f1d26;background:#fffdf8;border-radius:22px;overflow:hidden;text-align:left;box-shadow:0 18px 44px rgba(0,0,0,.55);font-family:inherit}
.tnh-rc-top{position:relative;height:150px;background:#06202b linear-gradient(160deg,#0d3a33,#04161d);overflow:hidden}
.tnh-rc-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tnh-rc.no-photo .tnh-rc-photo{display:none}
.tnh-rc-top::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,26,.2),rgba(4,18,26,.92))}
.tnh-rc-brand{position:absolute;z-index:2;left:16px;top:14px;display:flex;align-items:center;gap:10px;color:#fff}
.tnh-rc-brand img{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:#fff;object-fit:cover}
.tnh-rc-brand b{display:block;font-size:16px;line-height:1.2}.tnh-rc-brand small{font-size:10.5px;opacity:.8}
.tnh-rc-st{position:absolute;z-index:2;right:14px;top:16px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:800;background:#16a34a;color:#fff;box-shadow:0 4px 12px rgba(22,163,74,.45)}
.tnh-rc-st.full{background:#0d9488}
.tnh-rc-st.wait{background:#f59e0b;box-shadow:0 4px 12px rgba(245,158,11,.4)}
.tnh-rc-title{position:absolute;z-index:2;left:16px;right:16px;bottom:13px;color:#fff}
.tnh-rc-title small{display:block;font-size:10.5px;letter-spacing:1.6px;color:#5eead4;font-weight:700}
.tnh-rc-title div{font-size:20px;font-weight:800;margin-top:2px;line-height:1.25}
.tnh-rc-body{padding:15px 17px 4px}
.tnh-rc-no{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding-bottom:11px;border-bottom:1.5px dashed #d7dde1}
.tnh-rc-no small,.tnh-rc-grid small{display:block;font-size:10.5px;color:#7a8a93}
.tnh-rc-no b{font-size:18px;letter-spacing:1px;font-family:ui-monospace,Menlo,Consolas,monospace;color:#0b3a4a}
.tnh-rc-no .r{text-align:right}.tnh-rc-no .r b{font-size:12.5px;letter-spacing:0;font-family:inherit;color:#0f1d26;white-space:nowrap}
.tnh-rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:11px 0;border-bottom:1.5px dashed #d7dde1}
.tnh-rc-grid b{font-size:13.5px;color:#0f1d26}
.tnh-rc-grid .go b{color:#0b6b5f}
.tnh-rc-pax{position:relative;padding:10px 0;border-bottom:1.5px dashed #d7dde1}
.tnh-rc-h{font-size:11px;font-weight:800;color:#7a8a93;letter-spacing:.4px;margin-bottom:5px}
.tnh-rc-px{display:flex;align-items:center;gap:10px;padding:5px 0}
.tnh-rc-px .seat{min-width:40px;height:30px;padding:0 6px;border-radius:9px;background:#0b3a4a;color:#5eead4;font-weight:800;font-size:12.5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tnh-rc-px .n{min-width:0}.tnh-rc-px .n b{font-size:13.5px;display:block;color:#0f1d26;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}.tnh-rc-px .n small{font-size:11px;color:#7a8a93}
.tnh-rc-stamp{position:absolute;right:2px;top:6px;width:88px;height:88px;border-radius:50%;border:3px solid rgba(22,163,74,.55);color:rgba(22,163,74,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-14deg);font-weight:900;font-size:13px;line-height:1.15;text-align:center;pointer-events:none}
.tnh-rc-stamp.full{border-color:rgba(13,148,136,.55);color:rgba(13,148,136,.8)}
.tnh-rc-stamp small{font-size:9px;font-weight:700}
.tnh-rc-sum{padding:9px 0 3px}
.tnh-rc-sum .row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0;color:#0f1d26}.tnh-rc-sum .row span{color:#4b5b64}
.tnh-rc-sum .row.paid b{color:#16a34a}
.tnh-rc-sum .row.due{margin-top:6px;padding:10px 12px;border-radius:12px;background:#fff4e0;border:1px solid #fcd9a0}
.tnh-rc-sum .row.due span{color:#9a5b00;font-weight:700}.tnh-rc-sum .row.due b{color:#b45309;font-size:16px}
.tnh-rc-sum .row.done{margin-top:6px;padding:10px 12px;border-radius:12px;background:#e7f8ef;border:1px solid #a7e3c0}
.tnh-rc-sum .row.done span,.tnh-rc-sum .row.done b{color:#166534;font-weight:700}
.tnh-rc-note{font-size:10.5px;color:#7a8a93;line-height:1.55;padding:9px 0 3px}
.tnh-rc-tear{height:18px;position:relative;margin-top:4px}
.tnh-rc-tear::before{content:"";position:absolute;left:-10px;right:-10px;top:8px;border-top:2px dashed #cfd6db}
.tnh-rc-tear i{position:absolute;top:0;width:20px;height:20px;border-radius:50%;background:#071419}.tnh-rc-tear i.l{left:-10px}.tnh-rc-tear i.r{right:-10px}
.tnh-rc-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:6px 17px 15px;font-size:11px;color:#4b5b64}
.tnh-rc-foot b{color:#06C755}

/* หน้าจองสำเร็จ: ใช้ใบใหม่แทนกล่องเดิม (พื้นหลังป่าทึบเดิมของหน้า 97-forest-page-theme) */
#successPage2.has-tnh-rc #r-receipt-card{display:none}
#succReceiptBox{margin:12px 0 14px}
#successPage2 .succ-sticky-bar{gap:10px}
#successPage2 .succ-save-btn{flex:1;max-width:200px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;padding:13px 10px;font:inherit;font-size:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ef4444,#be123c);box-shadow:0 6px 18px rgba(225,29,72,.35);cursor:pointer}
#successPage2:not(.has-tnh-rc) .succ-save-btn{display:none}
#successPage2.has-tnh-rc .succ-line-btn{flex:1;max-width:200px;font-size:13.5px}
#successPage2 .succ-save-btn:disabled{opacity:.7}

/* เปิดดูจากหน้าโปรไฟล์ */
html.tnh-rc-lock,html.tnh-rc-lock body{overflow:hidden!important}
.tnh-rc-modal{position:fixed;inset:0;z-index:30000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:max(18px,env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(3,12,18,.88),rgba(2,10,15,.97)),var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-900.jpg')) center/cover no-repeat;animation:fadeUp .25s ease}
.tnh-rc-sheet{position:relative;width:100%;max-width:400px;padding-top:44px}
.tnh-rc-x{position:absolute;right:0;top:0;width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:rgba(9,28,34,.8);color:#e8faff;font-size:16px;cursor:pointer}
.tnh-rc-actions{display:flex;gap:10px;margin-top:14px}
.tnh-rc-save{flex:1;border:0;border-radius:14px;padding:14px;font:inherit;font-size:14.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ef4444,#be123c);box-shadow:0 8px 20px rgba(225,29,72,.35);cursor:pointer}
.tnh-rc-save:disabled{opacity:.7}
.tnh-rc-open-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;padding:10px;border-radius:12px;border:1px solid rgba(94,234,212,.3);background:rgba(13,148,136,.12);color:#99f6e4;font:inherit;font-size:13px;font-weight:700;cursor:pointer}

/* รูปสำหรับกดค้างบันทึก (ในแอป LINE) */
.tnh-rc-imgview{position:fixed;inset:0;z-index:30010;background:rgba(0,6,10,.92);display:flex;align-items:center;justify-content:center;padding:18px}
.tnh-rc-imgbox{width:100%;max-width:400px;text-align:center;color:#e2e8f0}
.tnh-rc-imgbox p{margin:0 0 10px;font-size:14px}
.tnh-rc-imgbox img{width:100%;border-radius:18px;-webkit-touch-callout:default;user-select:auto}
.tnh-rc-imgbox button{margin-top:12px;padding:11px 28px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-weight:700}

/* การ์ดทริปในโปรไฟล์: ปุ่มใบยืนยัน วางเหนือป้าย "จ่ายครบแล้ว" / ปุ่ม "ชำระส่วนที่เหลือ" (มุมขวาล่าง) */
.hist-act-stack{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:132px}
.hist-act-stack>.remain-pay-btn,.hist-act-stack>.paid-full-badge{position:static!important;right:auto!important;bottom:auto!important;justify-content:center;margin:0}
.hist-rc-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:rgba(4,16,22,.62);color:#f1f5f9;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 14px rgba(0,0,0,.3)}
.hist-rc-btn:active{transform:scale(.96)}
.hist-rc-btn span{font-size:13px}
/* ชื่อทริปยาวๆ ไม่ให้วิ่งไปทับปุ่มมุมขวา */
.hist-card-overlay.has-act h4,.hist-card-overlay.has-act p{padding-right:150px}
/* ==== css/115-home-extras.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* หน้าแรกส่วนท้าย: สมัคร STAFF + แบบฟอร์มขออนุญาตเข้าอุทยาน (js/30-home.js) */
.hx-wrap{display:flex;flex-direction:column;gap:14px;margin-top:22px}

/* ---------- สมัคร STAFF: การ์ดรูปทีมงานจริง ---------- */
.hx-staff{position:relative;display:block;min-height:150px;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;isolation:isolate;
  border:1px solid rgba(250,204,21,.28);box-shadow:0 14px 32px rgba(0,0,0,.38);transition:transform .18s ease,border-color .18s ease}
.hx-staff-bg{position:absolute;inset:0;z-index:-2;background:#0b2a22 url('../team.jpg') 100% 6%/auto 190% no-repeat}
.hx-staff::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(3,14,12,.96) 0%,rgba(3,14,12,.86) 46%,rgba(3,14,12,.25) 78%,rgba(3,14,12,.05) 100%),
             linear-gradient(0deg,rgba(3,14,12,.55),transparent 55%)}
.hx-staff-x{display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:64%;padding:18px 18px 16px}
.hx-staff-x small{font-size:10.5px;letter-spacing:2px;font-weight:800;color:#facc15}
.hx-staff-x b{font-size:20px;font-weight:800;line-height:1.2;margin-top:2px}
.hx-staff-x>span{font-size:12px;line-height:1.45;color:#cbd5d1}
.hx-cta{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;border-radius:999px;font-style:normal;font-size:13px;font-weight:800;
  color:#241a00;background:linear-gradient(135deg,#fde047,#f59e0b);box-shadow:0 6px 16px rgba(245,158,11,.35)}
.hx-cta em{font-style:normal;font-size:16px;line-height:1}
.hx-staff:active{transform:scale(.985)}

/* ---------- แบบฟอร์มขออนุญาต: กล่องเดียว 2 อุทยานเคียงกัน ---------- */
.hx-permit{padding:14px;border-radius:22px;background:linear-gradient(180deg,rgba(8,30,24,.82),rgba(4,18,15,.9));
  border:1px solid rgba(52,211,153,.22);box-shadow:0 14px 32px rgba(0,0,0,.32)}
.hx-permit-hd{display:flex;align-items:center;gap:11px;margin:2px 2px 12px}
.hx-permit-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.3)}
.hx-permit-ic svg{width:21px;height:21px;fill:none;stroke:#6ee7b7;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hx-permit-hd b{display:block;font-size:15px;font-weight:800;color:#f1f5f9}
.hx-permit-hd small{display:block;font-size:11px;color:#94a3a0;margin-top:1px}
.hx-permit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hx-pm-wide{grid-column:1/-1;min-height:112px}
.hx-pm{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:132px;padding:12px;border-radius:16px;overflow:hidden;isolation:isolate;
  text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.12);transition:transform .18s ease,border-color .18s ease}
.hx-pm-bg{position:absolute;inset:0;z-index:-2;background:#0d3a2f center/cover no-repeat}
.hx-pm::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,12,10,.05) 20%,rgba(2,12,10,.88) 100%)}
.hx-pm-tag{position:absolute;top:10px;left:10px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;color:#d1fae5;
  background:rgba(4,20,16,.62);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hx-pm b{font-size:17px;font-weight:800;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.hx-pm-go{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:12px;font-weight:800;color:#6ee7b7}
.hx-pm-go em{font-style:normal;font-size:15px;line-height:1}
.hx-pm:active{transform:scale(.97);border-color:rgba(110,231,183,.5)}

@media (hover:hover){
  .hx-staff:hover{transform:translateY(-2px);border-color:rgba(250,204,21,.5)}
  .hx-pm:hover{transform:translateY(-2px);border-color:rgba(110,231,183,.45)}
}
@media (min-width:900px){
  .hx-wrap{flex-direction:row;align-items:stretch}
  .hx-staff,.hx-permit{flex:1}
  .hx-staff{min-height:auto}
}

/* ---------- ทางลัด 4 ปุ่ม (แบบ C ต.ค.69): ศูนย์เรียนรู้กล่องใหญ่ซ้าย + 3 ปุ่มขวา · พื้นหลังป่าทึบแบบป๊อบอัพ ---------- */
.hq{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:repeat(3,auto);gap:9px;margin:14px 0 6px;padding:12px;border-radius:24px;
  background:linear-gradient(180deg,rgba(3,12,18,.62),rgba(2,10,15,.86)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat,#04121a;
  border:1px solid rgba(125,211,252,.16);box-shadow:0 14px 30px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06)}
.hq-it{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:10px 11px;border-radius:17px;text-align:left;font-family:inherit;cursor:pointer;
  color:#fff;background:rgba(6,18,26,.55);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  -webkit-tap-highlight-color:transparent;transition:transform .15s ease,border-color .15s ease}
.hq-c{position:relative;flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;
  box-shadow:0 5px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.hq-c svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hq-c1{background:linear-gradient(145deg,#38bdf8,#0369a1)}
.hq-c2{background:linear-gradient(145deg,#fbbf24,#d97706)}
.hq-c3{background:linear-gradient(145deg,#34d399,#047857)}
.hq-c4{background:linear-gradient(145deg,#818cf8,#4338ca)}
.hq-tx{min-width:0;display:flex;flex-direction:column}
.hq-l{font-size:13px;font-weight:800;line-height:1.25;color:#f1f8fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hq-s{font-size:10.5px;line-height:1.3;color:#9fb6c3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* กล่องใหญ่ ศูนย์เรียนรู้ */
.hq-big{grid-row:1/4;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px;
  background:linear-gradient(170deg,rgba(16,185,129,.22),rgba(2,22,16,.55) 55%,rgba(1,12,9,.88)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') 30% center/cover no-repeat,#04150f;
  border-color:rgba(110,231,183,.42);box-shadow:0 10px 22px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08)}
.hq-big .hq-c{width:42px;height:42px;background:linear-gradient(145deg,#34d399,#047857);box-shadow:0 5px 12px rgba(0,0,0,.35)}
.hq-big .hq-l{font-size:16px;text-shadow:0 1px 6px rgba(0,0,0,.6)}.hq-big .hq-s{color:#a7f3d0;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.hq-ringw{position:relative;width:76px;height:76px;align-self:center}
.hq-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#6ee7b7 calc(var(--p,0)*1%),rgba(255,255,255,.2) 0);filter:drop-shadow(0 0 6px rgba(52,211,153,.45));
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6.5px))}
.hq-pct{position:absolute;inset:0;display:grid;place-items:center;font-size:19px;font-weight:900;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
/* จุดแดง LIVE */
.hq-live{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.3);animation:hqLive 2s ease-in-out infinite}
@keyframes hqLive{50%{box-shadow:0 0 0 6px rgba(239,68,68,.08)}}
.hq-it:active{transform:scale(.97)}
@media (hover:hover){.hq-it:hover{transform:translateY(-2px);border-color:rgba(167,243,208,.4)}}
@media (prefers-reduced-motion:reduce){.hq-live{animation:none}}
@media (min-width:900px){.hq{max-width:560px;margin-left:auto;margin-right:auto}}

/* ---------- หัวหน้าเต็มจอ: ปุ่มย้อนกลับวงกลม + ชื่อหน้า (จองที่นั่ง / เช่าของ / รีวิว) ---------- */
.bk-hdr.nb-hdr{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding-top:12px!important;padding-bottom:12px!important}
.nb-back{flex:none;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);-webkit-tap-highlight-color:transparent;transition:transform .15s,background .15s}
.nb-back svg{width:20px;height:20px;fill:none;stroke:#e8faff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.nb-back:active{transform:scale(.92);background:rgba(255,255,255,.12)}
.nb-t{flex:1;min-width:0;line-height:1.25}
.nb-t b{display:block;font-size:16.5px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nb-t small{display:block;font-size:11.5px;color:#8fb3c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (hover:hover){.nb-back:hover{background:rgba(255,255,255,.12);border-color:rgba(94,234,212,.45)}}
html[lang=en] .hq-l,html[lang=en] .hq-s{white-space:normal}
/* ==== css/117-equip-review.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* หน้าเช่าอุปกรณ์ + หน้ารีวิว: โทนเดียวกับไอคอนวงกลมหน้าแรก (js/160-equipment-v2.js, js/170-review.js) */

/* ---------- หัวข้อส่วน: วงกลมไล่สี + ชื่อ + คำอธิบาย (ใช้ร่วมกัน) ---------- */
.sx-hd{display:flex;align-items:center;gap:12px;margin:22px 2px 12px}
.sx-hd>div{flex:1;min-width:0;line-height:1.3}
.sx-hd b{display:block;font-size:15.5px;font-weight:800;color:#f1f7fa}
.sx-hd small{display:block;font-size:11.5px;color:#8fb3c2;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  box-shadow:0 6px 14px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -5px 10px rgba(0,0,0,.16)}
.sx-ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.sx-blue{background:linear-gradient(145deg,#38bdf8,#0369a1)}
.sx-amber{background:linear-gradient(145deg,#fbbf24,#d97706)}
.sx-green{background:linear-gradient(145deg,#34d399,#047857)}
.sx-violet{background:linear-gradient(145deg,#818cf8,#4338ca)}
.sx-n{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-style:normal;font-size:11.5px;font-weight:900;
  color:#9fd8ee;background:rgba(125,211,252,.08);border:1px solid rgba(125,211,252,.22)}
.sx-hd.sx-in{margin:0 0 12px}
#equipPage .bk-body>.sx-hd:first-child,#reviewPage .bk-body>.sx-hd:first-child{margin-top:6px}

/* ================================================================
   เช่าอุปกรณ์
   ================================================================ */
/* การ์ดเลือกทริป */
#equipPage .eq-trip-picks{display:flex;flex-direction:column;gap:9px}
#equipPage .eq-trip-pick{padding:10px 12px 10px 10px;border-radius:18px;border:1.5px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(10,30,38,.78),rgba(5,18,24,.86));box-shadow:0 8px 20px rgba(0,0,0,.22)}
#equipPage .eq-trip-pick img,#equipPage .eq-trip-pick-ic{width:52px;height:52px;border-radius:14px}
#equipPage .eq-trip-pick-ic{background:linear-gradient(145deg,#38bdf8,#0369a1)}
#equipPage .eq-trip-pick-ic svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linejoin:round}
#equipPage .eq-trip-pick-x b{font-size:14px}
#equipPage .eq-trip-pick-x small{font-size:11.5px;color:#8fb3c2}
#equipPage .eq-trip-pick-check{width:26px;height:26px;border:2px solid rgba(255,255,255,.18)}
#equipPage .eq-trip-pick-check svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#equipPage .eq-trip-pick.on{border-color:rgba(56,189,248,.75);background:linear-gradient(180deg,rgba(14,116,144,.32),rgba(6,32,44,.8));box-shadow:0 0 0 3px rgba(56,189,248,.12),0 8px 20px rgba(0,0,0,.22)}
#equipPage .eq-trip-pick.on .eq-trip-pick-check{border-color:transparent;background:linear-gradient(145deg,#38bdf8,#0369a1);box-shadow:0 3px 8px rgba(3,105,161,.5)}
#equipPage .eq-empty-trip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;border-radius:20px;text-align:center;
  background:linear-gradient(180deg,rgba(10,30,38,.7),rgba(5,18,24,.82));border:1px dashed rgba(125,211,252,.25)}
#equipPage .eq-empty-trip b{font-size:14.5px;color:#f1f7fa}
#equipPage .eq-empty-trip small{font-size:12px;color:#8fb3c2}
#equipPage .eq-empty-trip button{margin-top:10px;padding:9px 16px;border-radius:999px;border:0;font-family:inherit;font-size:13px;font-weight:800;color:#fff;cursor:pointer;
  background:linear-gradient(145deg,#38bdf8,#0369a1);box-shadow:0 6px 14px rgba(3,105,161,.35)}

/* การ์ดอุปกรณ์ */
#equipPage #eqItemList{display:flex;flex-direction:column;gap:10px}
#equipPage .eq-item-card{position:relative;display:flex;gap:13px;margin:0;padding:11px;border-radius:20px;
  border:1.5px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(10,30,38,.78),rgba(5,18,24,.86));
  box-shadow:0 8px 20px rgba(0,0,0,.22);transition:border-color .18s,background .18s,box-shadow .18s}
#equipPage .eq-item-card.on{border-color:rgba(52,211,153,.6);background:linear-gradient(180deg,rgba(6,95,70,.28),rgba(4,24,22,.86));
  box-shadow:0 0 0 3px rgba(52,211,153,.1),0 8px 20px rgba(0,0,0,.22)}
#equipPage .eq-item-img{position:relative;width:84px;height:84px;border-radius:15px;background:#fff;overflow:visible}
#equipPage .eq-item-img img{border-radius:15px;padding:4px}
#equipPage .eq-item-badge{position:absolute;top:-6px;left:-6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:900;line-height:1.5;
  color:#053b2c;background:#a7f3d0;border:2px solid #061218;transform:scale(0);transition:transform .18s}
#equipPage .eq-item-card.on .eq-item-badge{transform:scale(1)}
#equipPage .eq-item-info{display:flex;flex-direction:column;min-width:0}
#equipPage .eq-item-info h4{font-size:15px;font-weight:800;color:#f1f7fa;margin:1px 0 0}
#equipPage .eq-item-info p.model{font-size:11px;color:#8fb3c2;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#equipPage .eq-item-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}
#equipPage .eq-item-info p.price{margin:0;display:flex;flex-direction:column;line-height:1.15;color:#fff}
#equipPage .eq-item-info p.price b{font-size:17px;font-weight:900;color:#fcd34d}
#equipPage .eq-item-info p.price small{font-size:10.5px;font-weight:600;color:#8fb3c2}
#equipPage .eq-stepper{display:flex;align-items:center;gap:2px;margin:0;padding:3px;border-radius:999px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08)}
#equipPage .eq-step-btn{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.09);cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:transform .12s,opacity .15s}
#equipPage .eq-step-btn svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round}
#equipPage .eq-step-btn.plus{background:linear-gradient(145deg,#34d399,#047857);box-shadow:0 3px 8px rgba(4,120,87,.45),inset 0 1px 0 rgba(255,255,255,.3)}
#equipPage .eq-step-btn:disabled{opacity:.35;cursor:default}
#equipPage .eq-step-btn:not(:disabled):active{transform:scale(.88)}
#equipPage .eq-step-val{min-width:28px;text-align:center;font-size:15px;font-weight:900;color:#fff}

/* สรุปยอด */
#equipPage .eq-summary-card{margin-top:22px;padding:15px;border-radius:22px;border:1px solid rgba(251,191,36,.22);
  background:linear-gradient(180deg,rgba(40,30,8,.5),rgba(5,18,24,.86));box-shadow:0 12px 26px rgba(0,0,0,.3)}
#equipPage .eq-summary-row{display:flex;justify-content:space-between;align-items:center;padding:5px 2px;font-size:13px;color:#cbd8de}
#equipPage .eq-summary-row em{font-style:normal;color:#8fb3c2;font-weight:700}
#equipPage .eq-summary-row.total{margin-top:8px;padding-top:11px;border-top:1px dashed rgba(255,255,255,.14);font-size:15px;font-weight:800;color:#fff}
#equipPage .eq-summary-row.total span:last-child{font-size:20px;font-weight:900;color:#fcd34d}
#equipPage .eq-note{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:14px;font-size:11.5px;line-height:1.45;
  color:#cbd8de;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
#equipPage .eq-note svg{flex:none;width:22px;height:22px;fill:none;stroke:#fcd34d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ปุ่มยืนยันด้านล่าง */
#equipPage .btn-confirm.ready{background:linear-gradient(145deg,#34d399,#047857)!important;color:#fff!important;border:0!important;
  box-shadow:0 8px 20px rgba(4,120,87,.4),inset 0 1px 0 rgba(255,255,255,.3)!important}

/* ================================================================
   รีวิว
   ================================================================ */
#reviewPage .rv-sx{margin-bottom:14px}

/* สรุปคะแนน (ใต้สไลด์) */
.rvx-sum{display:flex;align-items:center;gap:16px;margin-top:14px;padding:15px 16px;border-radius:22px;
  background:linear-gradient(180deg,rgba(10,30,38,.78),rgba(5,18,24,.86));border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 26px rgba(0,0,0,.3)}
.rvx-sum-l{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding-right:16px;border-right:1px solid rgba(255,255,255,.08)}
.rvx-sum-l b{font-size:34px;font-weight:900;line-height:1;color:#fcd34d}
.rvx-sum-l span{font-size:13px;letter-spacing:1px;color:#fbbf24}
.rvx-sum-l span i{font-style:normal;color:rgba(255,255,255,.15)}
.rvx-sum-l small{font-size:11px;color:#8fb3c2}
.rvx-sum-r{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}
.rvx-sum-r div{display:flex;align-items:center;gap:8px}
.rvx-sum-r span{width:10px;font-size:11px;font-weight:800;color:#cbd8de;text-align:center}
.rvx-sum-r em{flex:1;height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.rvx-sum-r em i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#fbbf24,#d97706)}
.rvx-sum-r small{width:16px;font-size:11px;color:#8fb3c2;text-align:right}

/* ยังไม่มีรีวิว */
.rvx-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:30px 16px;border-radius:22px;text-align:center;
  background:linear-gradient(180deg,rgba(10,30,38,.7),rgba(5,18,24,.82));border:1px dashed rgba(165,180,252,.28)}
.rvx-empty .sx-ic{width:58px;height:58px;margin-bottom:8px}
.rvx-empty .sx-ic svg{width:27px;height:27px}
.rvx-empty b{font-size:15px;color:#f1f7fa}
.rvx-empty small{font-size:12px;color:#8fb3c2}
.rvx-empty-btn{margin-top:12px;padding:10px 18px;border-radius:999px;border:0;font-family:inherit;font-size:13.5px;font-weight:800;color:#fff;cursor:pointer;
  background:linear-gradient(145deg,#818cf8,#4338ca);box-shadow:0 6px 14px rgba(67,56,202,.4)}

/* กล่องเขียนรีวิว */
#reviewPage .rvw-box{margin-bottom:18px;padding:16px;border-radius:22px;border:1px solid rgba(251,191,36,.2);
  background:linear-gradient(180deg,rgba(10,30,38,.82),rgba(5,18,24,.9));box-shadow:0 12px 26px rgba(0,0,0,.3)}
#reviewPage .rvw-lbl{margin:14px 2px 7px;font-size:12.5px;font-weight:800;color:#dbe8ee}
#reviewPage .rvw-lbl span{font-weight:500;color:#8fb3c2}
#reviewPage .star-picker{display:flex;justify-content:center;gap:6px;margin:0;padding:8px 0;border-radius:16px;background:rgba(0,0,0,.22);letter-spacing:0;font-size:34px}
#reviewPage .star-picker span{color:rgba(255,255,255,.2)}
#reviewPage .star-picker span.on{color:#fbbf24;text-shadow:0 0 14px rgba(251,191,36,.45)}
#reviewPage .rvw-ta{display:block;width:100%;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);
  color:#fff;font-size:14px;font-family:inherit;line-height:1.5;outline:none;resize:vertical}
#reviewPage .rvw-ta:focus{border-color:rgba(251,191,36,.5);box-shadow:0 0 0 3px rgba(251,191,36,.1)}
#reviewPage .rvw-up{margin:0 0 16px}
#reviewPage .rvw-up .slip-drop{border-radius:16px;background:rgba(0,0,0,.22)}
#reviewPage .rvw-cam{background:linear-gradient(145deg,#38bdf8,#0369a1);border-radius:50%}
#reviewPage .rvw-cam svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#reviewPage .slip-drop.has-file .rvw-cam{background:linear-gradient(145deg,#34d399,#047857)}
#reviewPage .rvw-box .btn-confirm.ready{background:linear-gradient(145deg,#fbbf24,#d97706)!important;color:#241a00!important;border:0!important;box-shadow:0 8px 20px rgba(217,119,6,.35)!important}
#reviewPage .rvw-cancel{display:block;width:100%;margin-top:10px;padding:11px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);
  font-family:inherit;font-size:13.5px;font-weight:700;color:#cbd8de;cursor:pointer}

/* ล้างกรอบเดิมที่เคยใส่ให้กล่อง hero (div แรกของหน้า) */
#equipPage .bk-body>.sx-hd:first-child,#reviewPage .bk-body>.sx-hd:first-child{padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* จอคอม: หัวข้อ/ทริปเต็มแถว · อุปกรณ์ซ้าย · สรุปยอดขวา */
@media (min-width:1024px){
  #equipPage .bk-body>.sx-hd{grid-column:1/-1!important}
  #equipPage .bk-body>.eq-hd2{grid-row:3!important}
  #equipPage #eqItemList{grid-row:4!important}
  #equipPage .eq-summary-card{grid-row:4!important}
  #equipPage .eq-summary-card .sx-hd{margin:0 0 12px}
  .sx-hd b{font-size:18px}.sx-hd small{font-size:13px}
  .sx-ic{width:46px;height:46px}.sx-ic svg{width:22px;height:22px}
}
/* ==== css/118-booking-form.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ฟอร์มผู้โดยสารแบบกระชับ + เช่าอุปกรณ์ตอนจอง (js/148-booking-equip.js) + พื้นหลังป่าโปร่ง */

/* ---------- พื้นหลังป่าทึบ (รูปเดียวกับป๊อปอัพ) แบบโปร่ง เห็นป่าชัดขึ้น ---------- */
#bookingPage2,#equipPage,#reviewPage{
  background:
    linear-gradient(180deg,rgba(3,12,18,.42),rgba(2,10,15,.72)),
    var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-1200.jpg')) center top/cover no-repeat fixed!important;
  background-color:#030b0d!important;
}
@media (max-width:767px){#bookingPage2,#equipPage,#reviewPage{background-attachment:scroll!important}}
#bookingPage2>.bk-hdr,#equipPage>.bk-hdr,#reviewPage>.bk-hdr{background:rgba(4,16,18,.5)!important;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}
#bookingPage2 .sticky-bar,#equipPage .sticky-bar,#reviewPage .sticky-bar{background:rgba(4,16,18,.55)!important;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}

/* การ์ดกระจกโปร่ง (ใช้ร่วม 3 หน้า) */
#bookingPage2 .bf-card,#bookingPage2 .bf-sum,
#equipPage :is(.eq-item-card,.eq-trip-pick,.eq-summary-card,.eq-empty-trip),
#reviewPage :is(.rvx-sum,.rvw-box,.rvx-empty){
  background:linear-gradient(180deg,rgba(14,40,40,.42),rgba(6,22,24,.52))!important;
  border-color:rgba(255,255,255,.14)!important;
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
}
#equipPage .eq-item-card.on{background:linear-gradient(180deg,rgba(6,95,70,.4),rgba(4,30,26,.55))!important;border-color:rgba(52,211,153,.6)!important}
#equipPage .eq-trip-pick.on{background:linear-gradient(180deg,rgba(14,116,144,.42),rgba(6,32,44,.6))!important;border-color:rgba(56,189,248,.75)!important}
#equipPage .eq-summary-card,#bookingPage2 .bf-sum{background:linear-gradient(180deg,rgba(60,44,10,.38),rgba(6,22,24,.52))!important;border-color:rgba(251,191,36,.3)!important}

/* ---------- การ์ดผู้โดยสาร ---------- */
#bookingPage2 .bf-hd{margin:6px 2px 12px}
#bookingPage2 .seat-form-card.bf-card{display:block!important;margin:0 0 12px!important;padding:12px!important;border-radius:20px!important;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
#bookingPage2 .bf-card.rent{border-color:rgba(52,211,153,.4)!important}
.bf-ch{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bf-seat{flex:none;padding:4px 11px;border-radius:10px;font-weight:900;font-size:14px;color:#fff;background:linear-gradient(145deg,#38bdf8,#0369a1);box-shadow:0 3px 8px rgba(3,105,161,.35)}
.bf-who{flex:1;font-size:13px;color:#cbd8de;font-weight:700}
.bf-ok{display:flex;align-items:center;gap:4px;font-style:normal;font-size:11px;font-weight:800;color:#6ee7b7;opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s}
.bf-ok.on{opacity:1;transform:none}
.bf-ok i{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#10b981;color:#fff;font-size:10px;font-style:normal}
.bf-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#bookingPage2 .bf-f{position:relative;display:block;min-width:0;height:52px;margin:0;padding:7px 12px 0 38px;border-radius:13px;cursor:text;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:border-color .15s,box-shadow .15s}
#bookingPage2 .bf-f.full{grid-column:1/-1}
#bookingPage2 .bf-f:focus-within{border-color:rgba(56,189,248,.6);box-shadow:0 0 0 3px rgba(56,189,248,.14)}
#bookingPage2 .bf-f>svg{position:absolute;left:12px;top:16px;width:18px;height:18px;fill:none;stroke:#7dd3fc;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#bookingPage2 .bf-f>small{display:block;font-size:10.5px;line-height:1.2;color:#8fb3c2;font-weight:600}
#bookingPage2 .bf-f :is(input,select){display:block!important;width:100%!important;height:26px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:#fff!important;font:600 15px/26px inherit!important;font-family:inherit!important;outline:none!important;-webkit-appearance:none;appearance:none}
#bookingPage2 .bf-f input::placeholder{color:#5f7c88;font-weight:400}
#bookingPage2 .bf-f.sel{padding-right:30px;cursor:pointer}
#bookingPage2 .bf-f.sel::after{content:"";position:absolute;right:14px;top:21px;width:7px;height:7px;border-right:2px solid #7dd3fc;border-bottom:2px solid #7dd3fc;transform:rotate(45deg);pointer-events:none}
#bookingPage2 .bf-f.sel select{cursor:pointer;text-overflow:ellipsis}
#bookingPage2 .bf-f.sel select option{color:#0f172a;background:#fff}
#bookingPage2 .bf-other{grid-column:1/-1;width:100%;height:44px;margin:0!important;padding:0 12px!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.07)!important;color:#fff!important;font-size:14px!important;font-family:inherit}

/* เช่า / ไม่เช่า */
.bf-eq{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.12)}
.bf-eq-q{display:block;margin:0 2px 7px;font-size:11.5px;font-weight:700;color:#8fb3c2}
.bf-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.bf-seg button{display:flex;align-items:center;justify-content:center;gap:7px;height:40px;border:0;border-radius:11px;background:none;font-family:inherit;font-size:13px;font-weight:800;color:#8fb3c2;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s}
.bf-seg i{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.28);transition:border .15s}
.bf-seg .no.on{background:rgba(255,255,255,.12);color:#fff}.bf-seg .no.on i{border:5px solid #dbe8ee}
.bf-seg .yes.on{background:linear-gradient(145deg,#34d399,#047857);color:#fff;box-shadow:0 4px 10px rgba(4,120,87,.35)}.bf-seg .yes.on i{border:5px solid #fff}
.bf-seg button:active{transform:scale(.97)}
.bf-eqsum{display:flex;align-items:center;gap:10px;margin-top:8px;padding:9px 10px;border-radius:13px;background:rgba(16,185,129,.12);border:1px solid rgba(52,211,153,.3)}
.bf-eqsum .sx-ic{width:32px;height:32px}.bf-eqsum .sx-ic svg{width:16px;height:16px}
.bf-eqsum>div{flex:1;min-width:0}.bf-eqsum b{display:block;font-size:12.5px;color:#fff}.bf-eqsum small{display:block;font-size:11px;color:#a7f3d0}
.bf-eqsum button{flex:none;padding:6px 12px;border-radius:999px;border:1px solid rgba(52,211,153,.45);background:none;font-family:inherit;font-size:12px;font-weight:800;color:#6ee7b7;cursor:pointer}

/* สรุปค่าใช้จ่าย */
#bfCost{margin:16px 0 8px}
#bookingPage2 .bf-sum{padding:14px;border-radius:22px;border:1px solid rgba(251,191,36,.3);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.bf-sum .r{display:flex;justify-content:space-between;gap:10px;padding:4px 2px;font-size:13px;color:#cbd8de}
.bf-sum .r em{font-style:normal;color:#8fb3c2}
.bf-sum .r.g span:last-child{color:#6ee7b7;font-weight:700}
.bf-sum .r.t{margin-top:6px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.16);font-size:15px;font-weight:800;color:#fff}
.bf-sum .r.t span:last-child{font-size:20px;font-weight:900;color:#fcd34d}
.bf-sum-note{margin-top:10px;padding:8px 10px;border-radius:12px;font-size:11.5px;line-height:1.45;color:#cbd8de;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}

/* ---------- ป๊อปอัพเลือกอุปกรณ์ (เด้งจากล่าง) ---------- */
.bf-sheet-bg{position:fixed;inset:0;z-index:30050;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.4);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.bf-sheet-bg.show{opacity:1}
.bf-sheet{position:relative;width:min(560px,100%);max-height:88dvh;overflow:auto;padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;color:#f1f7fa;
  background:linear-gradient(180deg,rgba(14,40,40,.66),rgba(4,16,18,.86)),var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-900.jpg')) center/cover;
  border-top:1px solid rgba(255,255,255,.18);box-shadow:0 -20px 60px rgba(0,0,0,.5);transform:translateY(30px);transition:transform .22s ease}
.bf-sheet-bg.show .bf-sheet{transform:none}
.bf-grab{width:42px;height:5px;margin:0 auto 10px;border-radius:5px;background:rgba(255,255,255,.22)}
.bf-x{position:absolute;right:14px;top:16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#dbe8ee;font-size:15px;cursor:pointer}
.bf-sheet .sx-hd{padding-right:40px}
.bf-items{display:flex;flex-direction:column;gap:9px}
.bf-it{display:flex;align-items:center;gap:12px;padding:10px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(14,40,40,.42);transition:border-color .15s,background .15s}
.bf-it.on{border-color:rgba(52,211,153,.6);background:rgba(6,95,70,.32)}
.bf-im{flex:none;width:60px;height:60px;border-radius:14px;overflow:hidden;background:#fff}
.bf-im img{width:100%;height:100%;object-fit:contain;padding:3px}
.bf-itx{flex:1;min-width:0;line-height:1.3}
.bf-itx b{display:block;font-size:14.5px}
.bf-itx small{display:block;font-size:10.5px;color:#8fb3c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bf-itx em{display:block;margin-top:2px;font-style:normal;font-size:15px;font-weight:900;color:#fcd34d}
.bf-itx em i{font-style:normal;font-size:10px;font-weight:600;color:#8fb3c2}
.bf-stp{flex:none;display:flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08)}
.bf-stp button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);cursor:pointer}
.bf-stp button svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round}
.bf-stp button.p{background:linear-gradient(145deg,#34d399,#047857);box-shadow:0 3px 8px rgba(4,120,87,.45)}
.bf-stp button:disabled{opacity:.35;cursor:default}
.bf-stp span{min-width:26px;text-align:center;font-size:15px;font-weight:900}
.bf-sheet-foot{display:flex;align-items:center;gap:12px;margin-top:14px}
.bf-sheet-foot>div{flex:1}.bf-sheet-foot small{display:block;font-size:11px;color:#8fb3c2}.bf-sheet-foot b{font-size:21px;font-weight:900;color:#fcd34d}
.bf-go{padding:14px 20px;border:0;border-radius:15px;font-family:inherit;font-size:15px;font-weight:800;color:#fff;cursor:pointer;
  background:linear-gradient(145deg,#34d399,#047857);box-shadow:0 8px 20px rgba(4,120,87,.4)}
.bf-go:disabled{opacity:.45;cursor:default;box-shadow:none}
.bf-sheet-note{margin-top:10px;text-align:center;font-size:11px;color:#8fb3c2}

/* หน้าเลือกมัดจำ/เต็มจำนวน */
.bf-pc-note{display:flex;align-items:center;gap:9px;margin-top:14px;padding:9px 11px;border-radius:13px;font-size:12px;line-height:1.4;color:#d1fae5;background:rgba(16,185,129,.12);border:1px solid rgba(52,211,153,.3);text-align:left}
.bf-pc-note svg{flex:none;width:20px;height:20px;fill:none;stroke:#6ee7b7;stroke-width:1.9;stroke-linejoin:round}
.bf-pc-note b{color:#fff}

@media (min-width:1024px){
  #bookingPage2 .seat-form-card.bf-card{padding:18px!important}
  .bf-g{grid-template-columns:1.4fr 1fr 1fr}
  #bookingPage2 .bf-f.full{grid-column:span 1}
}
#equipPage .eq-rented{color:#6ee7b7;font-weight:700}

/* กล่องนอกของฟอร์มเดิม → ไม่ต้องมีกรอบซ้อน การ์ดแต่ละเบาะเป็นกระจกอยู่แล้ว */
#bookingPage2 #formFieldsBox2{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#bookingPage2 .bf-f.sel{padding-right:24px}
#bookingPage2 .bf-f.sel::after{right:11px}

/* ใกล้วันเดินทาง: ปุ่มจ่ายมัดจำทึบ กดไม่ได้ */
#paymentChoiceModal button.pc-dep-closed{position:relative;opacity:.35!important;filter:grayscale(1)!important;cursor:not-allowed!important;pointer-events:none!important;background:rgba(80,80,90,.25)!important;border-color:rgba(148,163,184,.25)!important}
#paymentChoiceModal button.pc-dep-closed #pcDepositAmount{text-decoration:line-through}
#paymentChoiceModal .pc-dep-tag{display:flex;align-items:center;gap:6px;margin-top:-4px;padding:6px 10px;border-radius:10px;font-size:11.5px;font-weight:800;line-height:1.35;
  color:#fecaca;background:rgba(239,68,68,.16);border:1px solid rgba(248,113,113,.4)}
#paymentChoiceModal .pc-dep-tag::before{content:"🔒"}
/* ==== css/119-trip-share.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ปุ่มแชร์บนการ์ดทริป + แผ่นแชร์ (js/149-trip-share.js) */
.thc-share{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid rgba(255,255,255,.22);background:rgba(4,12,18,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 4px 12px rgba(0,0,0,.3);-webkit-tap-highlight-color:transparent;transition:transform .15s,background .15s}
.thc-share svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.thc-share:active{transform:scale(.9);background:rgba(56,189,248,.35)}
@media (hover:hover){.thc-share:hover{background:rgba(56,189,248,.35)}}
.thc-photo:has(.thc-share) .thc-pickup-pill{right:56px}

.ts-bg{position:fixed;inset:0;z-index:30060;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.45);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.ts-bg.show{opacity:1}
.ts-sheet{width:min(520px,100%);max-height:88dvh;overflow:auto;padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;color:#f1f7fa;
  background:linear-gradient(180deg,rgba(14,40,40,.7),rgba(4,16,18,.9)),var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-900.jpg')) center/cover;
  border-top:1px solid rgba(255,255,255,.18);box-shadow:0 -20px 60px rgba(0,0,0,.5);transform:translateY(30px);transition:transform .22s ease}
.ts-bg.show .ts-sheet{transform:none}
.ts-grab{width:42px;height:5px;margin:0 auto 10px;border-radius:5px;background:rgba(255,255,255,.22)}
.ts-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ts-head b{font-size:17px;font-weight:800}
.ts-x{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#dbe8ee;font-size:15px;cursor:pointer}
.ts-card{display:flex;align-items:center;gap:12px;padding:10px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.ts-card img{flex:none;width:64px;height:64px;border-radius:14px;object-fit:cover}
.ts-card>div{min-width:0}.ts-card b{display:block;font-size:15px;line-height:1.3}.ts-card small{display:block;margin-top:3px;font-size:12px;color:#a9c3cc}
.ts-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin:14px 0}
.ts-act{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 6px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);
  color:#e8f4f8;font-family:inherit;font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer}
.ts-act span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;box-shadow:0 6px 14px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.ts-act svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ts-act.line span{background:linear-gradient(145deg,#22c55e,#06a33a)}.ts-act.line svg{fill:#fff;stroke:none}
.ts-act.copy span{background:linear-gradient(145deg,#38bdf8,#0369a1)}
.ts-act.more span{background:linear-gradient(145deg,#818cf8,#4338ca)}
.ts-act:active{transform:scale(.96)}
.ts-preview{padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08)}
.ts-preview small{display:block;margin-bottom:5px;font-size:11px;color:#8fb3c2}
.ts-preview pre{margin:0;white-space:pre-wrap;word-break:break-word;font:13px/1.55 inherit;font-family:inherit;color:#e8f4f8}
.ts-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:30070;transform:translate(-50%,20px);opacity:0;pointer-events:none;
  padding:10px 16px;border-radius:999px;font-size:13px;font-weight:700;color:#fff;background:rgba(4,20,16,.92);border:1px solid rgba(52,211,153,.4);transition:opacity .2s,transform .2s}
.ts-toast.show{opacity:1;transform:translate(-50%,0)}
/* ==== css/121-cancel-swap.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ให้คนอื่นไปแทน / ขอยกเลิก / เครดิต / ข้อกำหนดก่อนโอน (js/154-cancel-swap.js) */

/* ปุ่มใต้การ์ดทริปในโปรไฟล์ */
.cs-acts{margin:-2px 0 14px;padding:10px 12px 11px;border-radius:0 0 18px 18px;background:rgba(6,20,26,.72);border:1px solid rgba(255,255,255,.08);border-top:0}
.cs-acts-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cs-btn{display:flex;align-items:center;justify-content:center;gap:7px;height:42px;border-radius:13px;border:0;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cs-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cs-btn.swap{color:#fff;background:linear-gradient(145deg,#38bdf8,#0369a1);box-shadow:0 6px 14px rgba(3,105,161,.3)}
.cs-btn.cancel{color:#fecaca;background:rgba(239,68,68,.12);border:1px solid rgba(248,113,113,.4)}
.cs-btn:disabled{opacity:.4;filter:grayscale(1);cursor:default}
.cs-btn:active:not(:disabled){transform:scale(.97)}
.cs-acts small{display:block;margin-top:7px;font-size:11px;color:#8fb3c2;text-align:center}.cs-acts small b{color:#e8f4f8}

.cs-credit-pill{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border-radius:16px;background:linear-gradient(120deg,rgba(16,185,129,.18),rgba(6,22,24,.6));border:1px solid rgba(52,211,153,.4)}
.cs-credit-pill b{display:block;font-size:14px;color:#d1fae5}.cs-credit-pill small{display:block;font-size:11px;color:#a7f3d0}

/* แผ่นเด้งล่าง */
.cs-bg{position:fixed;inset:0;z-index:30080;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .2s}
.cs-bg.show{opacity:1}
.cs-sheet{position:relative;width:min(540px,100%);max-height:92dvh;overflow:auto;padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;color:#f1f7fa;
  background:linear-gradient(180deg,rgba(14,40,40,.84),rgba(4,16,18,.95)),var(--tnh-forest-photo,url('/ximg.php?f=1448375240586-882707db888b-900.jpg')) center/cover;
  border-top:1px solid rgba(255,255,255,.18);box-shadow:0 -20px 60px rgba(0,0,0,.5);transform:translateY(30px);transition:transform .22s ease}
.cs-bg.show .cs-sheet{transform:none}
.cs-grab{width:42px;height:5px;margin:0 auto 10px;border-radius:5px;background:rgba(255,255,255,.22)}
.cs-x{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#dbe8ee;font-size:15px;cursor:pointer}
.cs-hd{display:flex;align-items:center;gap:12px;margin:2px 40px 12px 0}
.cs-hd b{display:block;font-size:15.5px;line-height:1.3}.cs-hd small{display:block;font-size:11.5px;color:#8fb3c2}
.cs-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;box-shadow:0 6px 14px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.35)}
.cs-ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cs-ic.blue{background:linear-gradient(145deg,#38bdf8,#0369a1)}.cs-ic.red{background:linear-gradient(145deg,#fb7185,#be123c)}
.cs-ic.green{background:linear-gradient(145deg,#34d399,#047857)}.cs-ic.amber{background:linear-gradient(145deg,#fbbf24,#d97706)}
.cs-ic.big{width:64px;height:64px;margin:0 auto 10px}.cs-ic.big svg{width:30px;height:30px}
.cs-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cs-f{position:relative;display:block;min-width:0;height:52px;padding:7px 12px 0;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);cursor:text}
.cs-f.full{grid-column:1/-1}
.cs-f:focus-within{border-color:rgba(56,189,248,.6);box-shadow:0 0 0 3px rgba(56,189,248,.14)}
.cs-f small{display:block;font-size:10.5px;color:#8fb3c2;font-weight:600}
.cs-f input,.cs-f select{display:block;width:100%;height:26px;margin:0;padding:0;border:0;background:transparent;color:#fff;font:600 15px/26px inherit;font-family:inherit;outline:none;-webkit-appearance:none;appearance:none}
.cs-f select option{color:#0f172a;background:#fff}
.cs-f input::placeholder{color:#5f7c88;font-weight:400;font-size:13px}
.cs-f.sel::after{content:"";position:absolute;right:12px;top:21px;width:7px;height:7px;border-right:2px solid #7dd3fc;border-bottom:2px solid #7dd3fc;transform:rotate(45deg);pointer-events:none}
.cs-refund-to{margin-top:9px}
.cs-money{margin-top:12px;padding:11px 12px;border-radius:16px;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.3)}
.cs-money .r,.cs-calc .r{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:12.5px;color:#cbd8de}
.cs-money .r b,.cs-calc .r b{color:#fff;white-space:nowrap}.cs-money .r.hl b{color:#fcd34d}.cs-money .r.ok b{color:#6ee7b7}
.cs-note{margin-top:10px;padding:9px 11px;border-radius:12px;font-size:11.2px;line-height:1.5;color:#cbd8de;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.cs-err{min-height:0;margin-top:8px;font-size:12.5px;font-weight:700;color:#fca5a5}.cs-err:empty{display:none}
.cs-loading{padding:26px 0;text-align:center;font-size:13px;color:#8fb3c2}
.cs-cta{display:flex;align-items:center;justify-content:center;width:100%;height:50px;margin-top:12px;border:0;border-radius:15px;font-family:inherit;font-size:15px;font-weight:800;color:#fff;cursor:pointer;text-decoration:none}
.cs-cta.blue{background:linear-gradient(145deg,#38bdf8,#0369a1);box-shadow:0 8px 20px rgba(3,105,161,.4)}
.cs-cta.red{background:linear-gradient(145deg,#fb7185,#be123c);box-shadow:0 8px 20px rgba(190,18,60,.35)}
.cs-cta.red.armed{background:linear-gradient(145deg,#ef4444,#7f1d1d);animation:csPulse 1s ease-in-out infinite}
@keyframes csPulse{50%{box-shadow:0 0 0 6px rgba(239,68,68,.25)}}
.cs-cta.line{background:linear-gradient(145deg,#22c55e,#06a33a);box-shadow:0 8px 20px rgba(6,163,58,.35)}
.cs-cta.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#cbd8de;height:46px}
.cs-cta:disabled{opacity:.6;cursor:default}
.cs-nudge{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px;border-radius:16px;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.35)}
.cs-nudge div{flex:1;font-size:12px;line-height:1.4;color:#d6eef8}.cs-nudge b{display:block;font-size:13px;color:#fff}
.cs-nudge button{flex:none;padding:8px 12px;border:0;border-radius:999px;font-family:inherit;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(145deg,#38bdf8,#0369a1);cursor:pointer}
.cs-calc{padding:12px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.cs-steps{display:flex;gap:4px;margin:9px 0 4px}.cs-steps i{flex:1;height:6px;border-radius:6px;background:rgba(255,255,255,.1)}.cs-steps i.on{background:#fbbf24}
.cs-steps-l{display:flex;justify-content:space-between;font-size:9.5px;color:#8fb3c2}
.cs-opt{display:flex;align-items:center;gap:10px;margin-top:9px;padding:11px;border-radius:16px;border:1.5px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);cursor:pointer}
.cs-opt.on{border-color:rgba(52,211,153,.7);background:rgba(6,95,70,.3)}
.cs-opt>i{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.cs-opt.on>i{border:5px solid #34d399}
.cs-opt div{flex:1;min-width:0}.cs-opt b{display:block;font-size:13.5px}.cs-opt small{display:block;font-size:11px;color:#a9c3cc;line-height:1.4}
.cs-opt em{flex:none;font-style:normal;font-size:17px;font-weight:900;color:#fcd34d}
.cs-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:9.5px;font-weight:900;color:#053b2c;background:#a7f3d0;vertical-align:1px}
.cs-done{padding:8px 0 2px;text-align:center}.cs-done b{display:block;font-size:17px}.cs-done small{display:block;margin-top:4px;font-size:12.5px;line-height:1.5;color:#a9c3cc}

/* หน้าเลือกวิธีจ่าย: ข้อกำหนด + เครดิต */
.cs-terms{margin-top:14px;text-align:left}
.cs-terms-box{max-height:118px;overflow:hidden;position:relative;padding:11px 12px;border-radius:14px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);font-size:11.5px;line-height:1.55;color:#cbd8de;transition:max-height .25s}
.cs-terms-box::after{content:"";position:absolute;left:0;right:0;bottom:0;height:38px;background:linear-gradient(transparent,rgba(5,18,20,.96));pointer-events:none}
.cs-terms.open .cs-terms-box{max-height:600px}.cs-terms.open .cs-terms-box::after{display:none}
.cs-terms-box b{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#fff;margin-bottom:4px}
.cs-terms-box b svg{width:16px;height:16px;fill:none;stroke:#7dd3fc;stroke-width:2;stroke-linejoin:round}
.cs-terms-box ul{margin:0;padding-left:16px}.cs-terms-box li{margin:3px 0}
.cs-terms-more{display:block;margin:5px 0 0 auto;padding:2px 4px;border:0;background:none;font-family:inherit;font-size:11.5px;font-weight:700;color:#7dd3fc;text-decoration:underline;cursor:pointer}
.cs-chk,.cs-credit-use{position:relative;display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;border-radius:14px;cursor:pointer;font-size:12.5px;font-weight:700;color:#e8f4f8;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);text-align:left}
.cs-chk input,.cs-credit-use input{position:absolute;opacity:0;pointer-events:none}
.cs-chk>i,.cs-credit-use>i{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;border:2px solid rgba(255,255,255,.35);font-style:normal}
.cs-chk:has(input:checked),.cs-credit-use:has(input:checked){background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.45)}
.cs-chk input:checked+i,.cs-credit-use input:checked+i{background:#10b981;border-color:#10b981}
.cs-chk input:checked+i::after,.cs-credit-use input:checked+i::after{content:"✓";color:#fff;font-weight:900;font-size:13px}
.cs-credit-use .cs-ic{width:32px;height:32px}.cs-credit-use .cs-ic svg{width:16px;height:16px}
.cs-credit-use b{display:block;font-size:13px}.cs-credit-use small{display:block;font-size:11px;color:#a7f3d0;font-weight:500}
.cs-locked{position:relative;opacity:.45;pointer-events:none;filter:grayscale(.5)}
.cs-locked::before{content:"ติ๊กยอมรับข้อกำหนดก่อนเลือกวิธีชำระเงิน";position:absolute;left:0;right:0;top:-2px;z-index:2;text-align:center;font-size:11px;font-weight:800;color:#fcd34d}
#paymentChoiceModal s{opacity:.55;font-size:.6em;font-weight:600;margin-left:4px}
.cs-noslip{margin-top:8px;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:800;color:#d1fae5;background:rgba(16,185,129,.15);border:1px solid rgba(52,211,153,.4)}
#payModal.cs-noslip-mode :is(.slip-upload,.pay-qr,#depositPaymentQr,.qr-wrap,.qr-img,.save-payment-qr,.bank-shortcut-box){display:none!important}
.cs-f[hidden]{display:none!important}

/* ยกเลิกช่วง <15 วัน: ไม่ได้ทั้งเงินคืนและเครดิต */
.cs-zero{margin:2px 0 12px;padding:13px 14px;border-radius:16px;background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.4);color:#fecdd3;font-size:12.5px;line-height:1.5}
.cs-zero b{display:block;margin-bottom:3px;color:#fff;font-size:14px}
/* บัญชีรับเงินคืน: ธนาคาร + เลขบัญชี + ชื่อบัญชี */
.cs-refund-to{display:grid;gap:8px;margin-top:2px;padding:12px;border-radius:16px;border:1px solid rgba(56,189,248,.28);background:rgba(56,189,248,.06)}
.cs-refund-to[hidden]{display:none!important}
.cs-rt-h{font-size:12.5px;font-weight:800;color:#bae6fd}
.cs-bank{width:100%;text-align:left;padding-left:58px;color:#fff;font:inherit;cursor:pointer}
.cs-bank img{position:absolute;left:10px;top:8px;width:36px;height:36px;border-radius:50%;background:#fff}
.cs-bank b{display:block;font-size:15px;line-height:26px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:22px}
.cs-bank[aria-expanded="true"]{border-color:rgba(56,189,248,.6)}
.cs-bank[aria-expanded="true"]::after{transform:rotate(-135deg);top:25px}
.cs-bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.cs-bgrid[hidden]{display:none!important}
.cs-bgrid button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px 8px;border-radius:13px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#d5e6ee;font:inherit;font-size:11px;line-height:1.25;cursor:pointer;min-width:0}
.cs-bgrid button img{width:38px;height:38px;border-radius:50%;background:#fff}
.cs-bgrid button span{text-align:center;overflow-wrap:anywhere}
.cs-bgrid button.on{border-color:#34d399;background:rgba(52,211,153,.14);color:#fff}
/* การจองที่แอดมินบันทึกให้: ปุ่มเดียวติดต่อแอดมิน */
.cs-acts-admin .cs-btn.admin{width:100%;color:#e2e8f0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)}
.cs-acts-admin small{display:block;margin-top:6px;text-align:center}
/* ==== css/126-new-trip-badge.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* การ์ดทริปเพิ่งเปิด (js/158): ป้ายสถานะ "✨ เพิ่งเปิดจอง" + ขอบเรืองแสงส้ม + แสงวิ่งผ่านเป็นระยะ */
.trip-hcard2.is-new{box-shadow:0 0 0 1.5px rgba(251,146,60,.95),0 0 26px rgba(249,115,22,.42),0 14px 30px rgba(0,0,0,.45)!important}
.thc-status-pill.fresh{background:linear-gradient(135deg,#fb7185,#f97316)!important;color:#fff!important;border-color:rgba(255,255,255,.55)!important;font-weight:800!important;box-shadow:0 4px 14px rgba(249,115,22,.5)}
.thc-status-pill.fresh::before{content:'✨'!important;width:auto!important;height:auto!important;background:none!important;box-shadow:none!important;font-size:12px}
.trip-hcard2.is-new .thc-photo::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.22) 50%,transparent 62%);background-size:260% 100%;animation:thcSweep 4.5s ease-in-out infinite}
@keyframes thcSweep{0%{background-position:130% 0}45%,100%{background-position:-30% 0}}
@media (prefers-reduced-motion:reduce){.trip-hcard2.is-new .thc-photo::before{animation:none;display:none}}
/* ==== css/127-trip-guides.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ปุ่มไปหน้ารีวิวเส้นทางแยก (js/160) */
.md-guide{display:flex;align-items:center;gap:12px;margin:12px 0 4px;padding:10px 14px 10px 10px;border-radius:16px;text-decoration:none;color:#fff;background:linear-gradient(135deg,rgba(52,211,153,.16),rgba(14,165,233,.1));border:1px solid rgba(52,211,153,.4)}
.md-guide img{flex:none;width:58px;height:58px;border-radius:12px;object-fit:cover}
.md-guide span{flex:1;min-width:0;line-height:1.35}
.md-guide b{display:block;font-size:15px}
.md-guide small{display:block;margin-top:2px;font-size:12px;color:#a7c4cf}
.md-guide i{flex:none;width:9px;height:9px;border-top:2px solid #6ee7b7;border-right:2px solid #6ee7b7;transform:rotate(45deg);margin-right:4px}
/* ==== css/128-home-forest.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* หน้าหลัก > ข้อมูลป่า (js/162) */
.hf-wrap{margin:18px 0 6px}
.hf-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 2px}
.hf-head strong{font-size:17px;color:#fff}
.hf-head span{font-size:11.5px;color:var(--sub,#9fb0bc)}
.hf-sub{margin:0 2px 10px;font-size:12px;color:var(--sub,#9fb0bc)}
.hf-track{display:grid;grid-auto-flow:column;grid-auto-columns:62%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.hf-track::-webkit-scrollbar{display:none}
.hf-card{position:relative;display:block;aspect-ratio:4/5;border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;padding:0;margin:0;background:linear-gradient(160deg,#173326,#0b1a14);color:#fff;font:inherit;text-align:left;cursor:pointer;scroll-snap-align:start}
.hf-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hf-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(4,12,9,.55) 62%,rgba(4,12,9,.92))}
.hf-tag{position:absolute;z-index:2;top:10px;left:10px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:800;line-height:1.4}
.hf-tag.guide{background:#ecfdf5;color:#065f46}
.hf-tag.open{background:#ff7a1a;color:#fff}
.hf-body{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;display:block}
.hf-body b{display:block;font-size:18px;line-height:1.25;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.hf-body small{display:block;margin-top:1px;font-size:12px;color:#cfe0d6}
.hf-body em{display:block;margin-top:4px;font-style:normal;font-size:12px;line-height:1.45;color:#e8f3ec}
.hf-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.hf-meta i{font-style:normal;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.14);color:#f1f5f2;backdrop-filter:blur(6px)}
.hf-meta i.lv-e{background:rgba(52,211,153,.28)}
.hf-meta i.lv-m{background:rgba(251,191,36,.3)}
.hf-meta i.lv-h{background:rgba(239,68,68,.38)}
.hf-meta i.lv-x{background:rgba(190,24,93,.45)}
.hf-card:focus-visible{outline:3px solid #5eead4;outline-offset:2px}
@media (min-width:700px){.hf-track{grid-auto-columns:calc((100% - 30px)/4)}}
.hf-tag.open{left:auto;right:10px}
.hf-track.one{grid-auto-columns:100%}
.hf-track.one .hf-card{aspect-ratio:4/3}
@media (min-width:700px){.hf-track.one{grid-auto-columns:calc((100% - 30px)/2)}}
.hf-card img{object-position:50% 80%}
/* ==== css/129-theme-toggle.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ปุ่มเปิด/ปิดธีมเทศกาล มุมซ้ายบนหัวเว็บ (js/164) */
.tt-btn{position:absolute;z-index:6;top:12px;left:12px;display:flex;align-items:center;gap:6px;height:32px;padding:0 5px 0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(6,11,19,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e2ecf3;font:700 10.5px/1 inherit;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tt-ic{font-size:14px;line-height:1}
.tt-sw{position:relative;width:30px;height:18px;border-radius:999px;background:rgba(148,163,184,.4);transition:background .2s}
.tt-sw i{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .2s}
.tt-btn.on .tt-sw{background:#ff7a1a}
.tt-btn.on .tt-sw i{transform:translateX(12px)}
.tt-btn.busy{opacity:.7;pointer-events:none}
.tt-btn:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.tt-sw,.tt-sw i{transition:none}}
/* หน้าคอม: วางในแถว ไม่ลอย */
.tt-btn.tt-inline{position:static;flex:none}
#desktopApp .desk-landing-head .tt-btn.tt-inline{margin-left:auto;height:34px}
#desktopApp .desk-landing-head .tt-btn.tt-inline + .tnh-lang-btn{margin-left:8px}
#desktopApp .desk-top-actions .tt-btn.tt-inline{height:38px;padding:0 6px 0 11px;font-size:12px}
#desktopApp .desk-top-actions .tt-btn.tt-inline,#desktopApp .desk-landing-head .tt-btn.tt-inline{border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(6,11,19,.55);color:#e2ecf3;font-weight:700}
#desktopApp .desk-landing-head .tt-btn.tt-inline{font-size:11px;padding:0 5px 0 10px}
#desktopApp .desk-landing-head .tt-btn.tt-inline .tt-tx{font-size:11px}
#desktopApp .desk-landing-head strong{white-space:nowrap}
/* ==== css/130-i18n.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ปุ่มสลับภาษา TH/EN (js/006-i18n.js) */
.tnh-lang-btn{display:inline-flex;align-items:center;gap:2px;height:28px;padding:2px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(6,11,19,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;font:800 10px/1 inherit;font-family:inherit;color:#9fb3c2;flex:none}
.tnh-lang-btn span{display:grid;place-items:center;min-width:24px;height:22px;border-radius:999px;padding:0 5px;transition:background .2s,color .2s}
.tnh-lang-btn span.on{background:#e2ecf3;color:#06121a}
.tnh-lang-btn:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
#desktopApp .desk-top-actions .tnh-lang-btn{height:38px;padding:3px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(6,11,19,.55)}
#desktopApp .desk-top-actions .tnh-lang-btn span{height:30px;min-width:34px;font-size:12px}
html[lang=en] .home-banner-actions .hdr-btn{letter-spacing:0}
.tnh-lang-float{position:absolute;top:48px;right:12px;z-index:6}
/* ข้อความที่มาจาก CSS (content) — แปลตอนเลือก EN */
html[lang=en] .cs-locked::before{content:"Accept the booking terms before choosing a payment method"}
html[lang=en] #appShell .pc-side-services::before{content:"More services"}
html[lang=en] #pcEntry .pc-entry-menu::before{content:"Choose a section"}
html[lang=en] #desktopApp .qa-lux .qa-mytrips-mini::after{content:"Reviews and photos from fellow travelers"}
html[lang=en] #desktopApp .qa-lux .qa-rent-mini::after{content:"Tents, sleeping bags, sleeping pads"}
html[lang=en] #desktopApp .qa-lux .qa-trip-mini::after{content:"Choose trip · Choose seat · Pay deposit"}
html[lang=en] .van-grid-seats .seat.selected .seat-big::after{content:"✓ Selected"}
html[lang=en] .ann-card.ann-pinned .ann-body:before{content:"IMPORTANT"}
html[lang=en] #loginPage .login-logo::after{content:'🚐  Real-time van seat booking\A 📸  Attach slip, auto-verified\A 🛡️  Accident insurance every trip\A 🏕️  Full camping gear rental'}
#desktopApp .desk-landing-head .tnh-lang-btn{margin-left:auto;height:34px;padding:3px}
#desktopApp .desk-landing-head .tnh-lang-btn span{height:26px;min-width:32px;font-size:11.5px}
/* ==== css/131-home-menu.css ==== */
/* ปุ่มเมนู ☰ หัวเว็บมือถือ + แผ่นเมนู (js/165-home-menu.js) */
html.tnh-hm .home-banner > .tnh-lang-float,
html.tnh-hm .home-banner > #tnhThemeToggle,
html.tnh-hm .home-banner-actions .hdr-btn-info,
html.tnh-hm .home-banner-actions .hdr-btn-contact{display:none!important}
.home-banner-actions .hm-btn{width:38px;height:32px;padding:0!important;display:inline-grid;place-items:center;border-radius:12px!important;background:rgba(6,11,19,.55)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none!important;cursor:pointer;-webkit-tap-highlight-color:transparent}
.home-banner-actions .hm-btn:focus-visible{outline:2px solid #5eead4;outline-offset:2px}

.hm-wrap{position:fixed;inset:0;z-index:30200;pointer-events:none}
.hm-back{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .22s}
.hm-sheet{position:absolute;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;background:#14201b;color:#e8eee9;border-radius:22px 22px 0 0;padding:10px 16px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(0,0,0,.5);border-top:1px solid rgba(255,255,255,.08);transform:translateY(105%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
.hm-wrap.show{pointer-events:auto}
.hm-wrap.show .hm-back{opacity:1}
.hm-wrap.show .hm-sheet{transform:none}
.hm-grab{width:42px;height:5px;border-radius:9px;background:rgba(255,255,255,.22);margin:0 auto 10px}
.hm-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 6px}
.hm-head strong{font-size:18px;font-weight:800}
.hm-x{width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.07);color:#cfd8d3;font-size:14px;cursor:pointer}
.hm-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hm-row:last-child{border-bottom:0}
.hm-row:active:not(.hm-static){background:rgba(255,255,255,.04)}
.hm-row.busy{opacity:.7;pointer-events:none}
.hm-ic{flex:none;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.07);display:grid;place-items:center;font-size:18px}
.hm-tx{flex:1;min-width:0}
.hm-tx b{display:block;font-size:15px;font-weight:700}
.hm-tx small{display:block;font-size:12.5px;opacity:.6;margin-top:2px}
.hm-go{opacity:.4;font-size:20px;padding-right:4px}
.hm-seg{display:flex;background:rgba(255,255,255,.08);border-radius:999px;padding:3px}
.hm-seg button{border:0;background:none;color:#cfd8d3;font:700 13px/1 inherit;font-family:inherit;padding:8px 15px;border-radius:999px;cursor:pointer}
.hm-seg button.on{background:#34d399;color:#06281c}
.hm-sw{flex:none;width:48px;height:28px;border-radius:999px;background:rgba(255,255,255,.18);position:relative;transition:background .2s}
.hm-sw i{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}
.hm-sw.on{background:#f97316}
.hm-sw.on i{transform:translateX(20px)}
.hm-row:focus-visible,.hm-seg button:focus-visible,.hm-x:focus-visible{outline:2px solid #5eead4;outline-offset:2px}

.hm-sheet{max-height:88vh;overflow-y:auto}
.hm-social{display:flex;align-items:center;gap:12px;padding:14px 4px 4px}
.hm-social>span{flex:1;font-size:13px;opacity:.6;font-weight:600}
.hm-so{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none}
.hm-so svg{display:block}
.hm-line{background:#06C755}.hm-fb{background:#1877F2}.hm-ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.hm-so:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
.hm-copy{margin:12px 0 0;text-align:center;font-size:11px;opacity:.45}
@media (prefers-reduced-motion:reduce){.hm-sheet,.hm-back{transition:none}}
/* พื้นหลังป่าทึบ (ชุดเดียวกับกล่องทางลัด/ป๊อปอัป) */
.hm-sheet{background:linear-gradient(180deg,rgba(3,12,18,.66),rgba(2,10,15,.9)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat,#04121a;border-top:1px solid rgba(125,211,252,.18)}
.hm-ic,.hm-x{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08)}
.hm-row{border-bottom-color:rgba(255,255,255,.09)}
.hm-tx b,.hm-head strong{text-shadow:0 1px 6px rgba(0,0,0,.5)}
html.tnh-halloween .hm-sheet{background:linear-gradient(180deg,rgba(40,12,52,.7),rgba(16,6,22,.92)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat,#10061a;border-top-color:rgba(255,120,20,.35);box-shadow:0 -12px 40px rgba(0,0,0,.5),0 0 24px rgba(109,40,217,.25)}
/* แถบเมนูเลื่อนลงจากด้านบน */
.hm-sheet{top:0;bottom:auto;border-radius:0 0 22px 22px;border-top:0;border-bottom:1px solid rgba(125,211,252,.18);padding:calc(14px + env(safe-area-inset-top)) 16px 26px;transform:translateY(-105%);box-shadow:0 12px 40px rgba(0,0,0,.5)}
html.tnh-halloween .hm-sheet{border-bottom-color:rgba(255,120,20,.35);box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 24px rgba(109,40,217,.25)}
.hm-grab{position:absolute;left:50%;bottom:9px;margin:0 0 0 -21px}

.hm-sheet:focus{outline:none}
/* ==== css/132-visitor-counter.css ==== */
/* ตัวนับคนเข้าเว็บ มุมซ้ายบนหัวเว็บ (js/166-visitor-counter.js) */
.home-banner .vc{position:absolute;z-index:6;top:12px;left:12px;display:flex;align-items:center;gap:10px;padding:4px 11px;border-radius:13px;color:#fff;background:rgba(6,11,19,.12);border:1px solid rgba(255,255,255,.16);text-shadow:0 1px 4px rgba(0,0,0,.7),0 0 8px rgba(0,0,0,.35);opacity:0;transform:translateY(-4px);transition:opacity .35s,transform .35s;pointer-events:none}
.home-banner .vc.show{opacity:1;transform:none}
.vc-r{display:flex;flex-direction:column;align-items:center;min-width:30px;line-height:1.1}
.vc-r b{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.vc-r small{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:9.5px;font-weight:600;opacity:.78;white-space:nowrap}
.vc-on b{color:#6ee7b7}
.vc-on i{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e;animation:vcPulse 2s ease-in-out infinite}
.vc-sep{width:1px;height:20px;background:rgba(255,255,255,.3)}
@keyframes vcPulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.vc-on i{animation:none}.home-banner .vc{transition:none}}
/* ==== css/133-trip-card-f.css ==== */
/* การ์ดทริปแบบ F (js/167-trip-card-f.js) — มือถือ */
.trip-hcard2.tcf{position:relative;display:block;padding:0;border-radius:24px;overflow:hidden;background:#0b1712;border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 34px rgba(0,0,0,.4);cursor:pointer;color:#f1f5f2;text-align:left;min-height:0;-webkit-tap-highlight-color:transparent}
.tcf:active{transform:scale(.985)}
.tcf-ph{position:relative;height:190px;overflow:hidden;background:linear-gradient(100deg,#0d2a20 30%,#17392d 50%,#0d2a20 70%) 0 0/300% 100%;animation:tcfLoad 1.4s linear infinite}
@keyframes tcfLoad{to{background-position:-150% 0}}
.tcf-ph img{display:block;width:100%;height:100%;object-fit:cover}
.tcf-ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,23,18,0) 55%,#0b1712);pointer-events:none}
.tcf-when{position:absolute;z-index:2;left:12px;top:12px;max-width:calc(100% - 24px);padding:6px 12px;border-radius:12px;background:rgba(9,19,15,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcf-when b{color:#fdba74;font-weight:800}
.tcf-when.hot{background:rgba(234,88,12,.88);border-color:rgba(255,255,255,.28)}
.tcf-when.hot b{color:#fff}
.tcf-bd{position:relative;z-index:2;margin-top:-40px;padding:0 16px 16px}
.tcf-org{margin-bottom:6px}
.tcf-title{margin:0;font-size:20px;font-weight:800;line-height:1.25;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tcf-meta span+span::before{content:' · '}.tcf-meta em,.tcf-meta i{font-style:normal}
.tcf-meta{margin:3px 0 0;font-size:12.5px;font-weight:500;color:rgba(241,245,242,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcf-seat{margin-top:12px}
.tcf-seat .t{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:600}
.tcf-seat .t span{display:flex;align-items:center;gap:6px;min-width:0}
.tcf-seat .t b{flex:none;color:#6ee7b7;font-weight:800}
.tcf-seat.low .t b{color:#fca5a5}
.tcf-seat.full .t b{color:#f87171}
.tcf-av{display:flex}
.tcf-av i{width:20px;height:20px;border-radius:50%;background:#1f3a30 center/cover;border:1.5px solid #0b1712;margin-left:-6px}
.tcf-av i:first-child{margin-left:0}
.tcf-bar{height:7px;border-radius:9px;background:rgba(255,255,255,.1);margin-top:6px;overflow:hidden}
.tcf-bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#34d399,#a3e635);transition:width .6s ease}
.tcf-seat.low .tcf-bar i{background:linear-gradient(90deg,#fb923c,#ef4444)}
.tcf-seat.full .tcf-bar i{background:#7f1d1d}
.tcf-note{margin-top:12px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.06);font-size:12.5px;font-weight:600;color:rgba(241,245,242,.8)}
.tcf-rounds{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.tcf-rounds span{padding:5px 10px;border-radius:999px;background:rgba(110,231,183,.12);border:1px solid rgba(110,231,183,.3);font-size:12px;font-weight:700;color:#d1fae5}
.tcf-ft{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.tcf-pr{display:flex;align-items:baseline;gap:4px;min-width:0;white-space:nowrap}
.tcf-pr b{font-size:22px;font-weight:800;color:#fcd34d}
.tcf-pr small{font-size:12px;color:rgba(241,245,242,.6);font-weight:600}
.tcf-acts{display:flex;align-items:center;gap:8px;flex:none}
.tcf-share{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;padding:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#e8eee9;cursor:pointer}
.tcf-share svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.tcf-go{display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:14px;background:#6ee7b7;color:#062a1d;font-size:14.5px;font-weight:800;white-space:nowrap}
.tcf.is-past .tcf-go,.tcf.is-locked .tcf-go{background:rgba(255,255,255,.12);color:#e8eee9}
.tcf.is-past .tcf-ph img{filter:saturate(.6)}
.tcf.is-new{box-shadow:0 0 0 1.5px rgba(251,146,60,.95),0 0 26px rgba(249,115,22,.42),0 16px 34px rgba(0,0,0,.45)!important}
.tcf.is-new .tcf-when{background:linear-gradient(135deg,#fb7185,#f97316);border-color:rgba(255,255,255,.5);box-shadow:0 4px 14px rgba(249,115,22,.5)}
.tcf.is-new .tcf-when b{color:#fff}
.tcf.is-new .tcf-when::before{content:var(--tcf-new,'✨ เพิ่งเปิดจอง · ');font-weight:800}
html.tnh-halloween .trip-hcard2.tcf{border-color:rgba(255,120,20,.3)}
html.tnh-halloween .tcf-go{background:#fb923c;color:#2a1000}
.tcf-stamp{position:absolute;z-index:2;left:50%;top:50%;width:200px;height:180px;color:#dc2626;opacity:.72;transform:translate(-50%,-62%) rotate(-12deg);pointer-events:none}
@media (prefers-reduced-motion:reduce){.tcf-ph{animation:none}.tcf-bar i{transition:none}.tcf:active{transform:none}}
/* ==== css/134-booking-readonly.css ==== */
/* หน้าจองที่นั่ง: ช่องชื่อทริป/วันที่ (ล็อกไว้ ไม่ให้แก้) — เดิม iPhone ทำให้ซีดจนอ่านยาก → ให้ตัวหนังสือชัดเหมือนป้ายข้อมูล */
#b-trip:disabled,#b-date:disabled{opacity:1;color:#f8fafc;-webkit-text-fill-color:#f8fafc;font-weight:700;background:rgba(9,22,17,.62);border:1px solid rgba(110,231,183,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);cursor:default}
#b-date:disabled{color:#a7f3d0;-webkit-text-fill-color:#a7f3d0}
html.tnh-halloween #b-trip:disabled,html.tnh-halloween #b-date:disabled{border-color:rgba(251,146,60,.4)}
html.tnh-halloween #b-date:disabled{color:#fdba74;-webkit-text-fill-color:#fdba74}
/* ==== css/135-announcements-v3.css ==== */
/* หน้าประกาศแบบใหม่ (js/168-announcements-v3.js) */
.an3{color:#eef5f0}
.an3-hero{position:relative;overflow:hidden;border-radius:24px;padding:18px 18px 16px;background:linear-gradient(180deg,rgba(3,12,18,.55),rgba(2,10,15,.88)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat,#04121a;border:1px solid rgba(125,211,252,.16);box-shadow:0 14px 30px rgba(0,0,0,.3)}
.an3-hero small{font-size:11.5px;font-weight:800;letter-spacing:2px;color:#6ee7b7}
.an3-hero h2{margin:2px 0 0;font-size:28px;font-weight:800;color:#fff}
.an3-hero p{margin:2px 0 0;font-size:13px;color:rgba(238,245,240,.75)}
.an3-hero-row{display:flex;align-items:center;gap:8px;margin-top:14px}
.an3-unread{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:rgba(110,231,183,.14);border:1px solid rgba(110,231,183,.35);font-size:13px;font-weight:700;color:#d1fae5}
.an3-unread i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399}
.an3-unread.done{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#cbd5d0}
.an3-markall{margin-left:auto;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#e2e8e4;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.an3-markall[hidden]{display:none}
.an3-chips{display:flex;gap:8px;margin:14px 0 12px}
.an3-chips button{padding:7px 14px;border-radius:999px;font:inherit;font-size:13px;font-weight:700;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#cbd5d0;cursor:pointer}
.an3-chips button.on{background:#6ee7b7;color:#062a1d;border-color:#6ee7b7}
.an3-feat{position:relative;display:block;width:100%;height:220px;padding:0;border-radius:22px;overflow:hidden;background:#0d2a20 center/cover no-repeat;border:1px solid rgba(248,113,113,.45);box-shadow:0 14px 30px rgba(0,0,0,.4);color:#fff;text-align:left;font:inherit;cursor:pointer}
.an3-feat::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 30%,rgba(5,10,8,.92))}
.an3-feat.noimg{background:linear-gradient(145deg,#3a1218,#0d1f19)}
.an3-feat-ic{position:absolute;right:18px;top:18px;font-size:64px;opacity:.35}
.an3-tag{position:absolute;z-index:2;left:12px;top:12px;padding:5px 11px;border-radius:999px;background:#dc2626;font-size:12px;font-weight:800;box-shadow:0 4px 14px rgba(220,38,38,.5)}
.an3-feat-bd{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;display:block}
.an3-feat-bd b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:19px;font-weight:800;line-height:1.3;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.an3-feat-bd .p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;font-size:12.5px;color:rgba(255,255,255,.85)}
.an3-feat-bd small,.an3-tx small{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:#a3b5aa}
.an3-new,.an3-pin-s{display:inline-flex;align-items:center;gap:5px;font-style:normal;font-weight:800;color:#6ee7b7}
.an3-new::before{content:'';width:7px;height:7px;border-radius:50%;background:#34d399}
.an3-pin-s{color:#fca5a5}
.an3-month{margin:20px 2px 8px;font-size:12.5px;font-weight:800;letter-spacing:.5px;color:#9fb3a6}
.an3-list{display:grid;gap:8px}
.an3-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#eef5f0;text-align:left;font:inherit;cursor:pointer}
.an3-row.unread{background:rgba(110,231,183,.06);border-color:rgba(110,231,183,.22)}
.an3-row:active,.an3-feat:active{transform:scale(.985)}
.an3-th{flex:none;width:68px;height:68px;border-radius:14px;background:#0d2a20 center/cover no-repeat;display:grid;place-items:center;font-size:28px}
.an3-th.ic{background:linear-gradient(145deg,rgba(110,231,183,.2),rgba(255,255,255,.04));border:1px solid rgba(110,231,183,.18)}
.an3-th.ic.warn{background:linear-gradient(145deg,rgba(251,191,36,.2),rgba(255,255,255,.04));border-color:rgba(251,191,36,.2)}
.an3-tx{flex:1;min-width:0;display:block}
.an3-tx b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;font-weight:700;line-height:1.3}
.an3-row:not(.unread) .an3-tx b{font-weight:600;color:#d5ddd8}
.an3-go{flex:none;opacity:.35;font-size:20px}
.an3-empty{padding:24px;text-align:center;border:1px dashed rgba(255,255,255,.14);border-radius:18px;color:#93a69b}
/* หน้าอ่าน */
.an3-dt{margin:-6px -16px 0;color:#eef5f0}
.an3-dt-hero{position:relative;height:280px;background:#0d2a20 center/cover no-repeat}
.an3-dt-hero.noimg{height:200px;background:linear-gradient(180deg,rgba(3,12,18,.4),#07110e),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover}
.an3-dt-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%,rgba(7,17,14,.2) 60%,#07110e)}
.an3-dt-hero .an3-feat-ic{z-index:1;left:50%;right:auto;top:50%;transform:translate(-50%,-60%);font-size:80px;opacity:.5}
.an3-dt-btn{position:absolute;z-index:2;top:14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;padding:0;background:rgba(9,19,15,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.an3-dt-btn.back{left:16px}.an3-dt-btn.share{right:16px}
.an3-dt-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.an3-dt-bd{position:relative;z-index:2;margin-top:-56px;padding:0 18px 24px}
.an3-dt-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.an3-dt-tags span{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:800;background:rgba(255,255,255,.14)}
.an3-dt-tags span.pin{background:#dc2626}
.an3-dt-bd h2{margin:0;font-size:23px;font-weight:800;line-height:1.3;color:#fff}
.an3-dt-txt{margin-top:14px;padding:16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:15px;line-height:1.75;color:#dfe7e2;white-space:pre-wrap;word-break:break-word}
.an3-dt-link{display:block;margin-top:14px;padding:14px;border-radius:16px;background:#6ee7b7;color:#062a1d;text-align:center;font-weight:800;font-size:15px;text-decoration:none}
.an3-chips button:focus-visible,.an3-row:focus-visible,.an3-feat:focus-visible,.an3-dt-btn:focus-visible,.an3-markall:focus-visible,.an3-dt-link:focus-visible{outline:2px solid #6ee7b7;outline-offset:2px}
html.tnh-halloween .an3-hero{background:linear-gradient(180deg,rgba(40,12,52,.6),rgba(16,6,22,.9)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat,#10061a;border-color:rgba(255,120,20,.35)}
@media (prefers-reduced-motion:reduce){.an3-row:active,.an3-feat:active{transform:none}}

/* แท็บประกาศ: ซ่อนหัวเว็บของหน้าหลัก */
html.tnh-on-notif #appShell > .hdr{display:none!important}
html.tnh-on-notif #tab-notif > .main{padding-top:calc(14px + env(safe-area-inset-top))!important}
html.tnh-on-notif .an3-dt{margin-top:calc(-14px - env(safe-area-inset-top))}
html.tnh-on-notif .an3-dt-btn{top:calc(14px + env(safe-area-inset-top))}

/* รูปเต็ม ไม่ตัดขอบ: การ์ดปักหมุด + หน้าอ่าน */
.an3-feat.full{height:auto;background:#0b1712}
.an3-feat.full::after{display:none}
.an3-feat-img{display:block;width:100%;height:auto;max-height:none}
.an3-feat.full .an3-feat-bd{position:relative;left:auto;right:auto;bottom:auto;padding:12px 16px 14px}
.an3-feat.full .an3-feat-bd b{text-shadow:none}
.an3-dt-hero.full{height:auto;background:#07110e}
.an3-dt-hero.full::after{display:none}
.an3-dt-img{display:block;width:100%;height:auto}
.an3-dt-hero.full + .an3-dt-bd{margin-top:14px}
/* ==== css/136-month-planner.css ==== */
/* ทริปประจำเดือนแบบปฏิทิน (js/169-month-planner.js) */
.mp-ov{position:fixed;inset:0;z-index:30200;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.6);opacity:0;transition:opacity .22s}
.mp-ov.show{opacity:1}
.mp-sheet{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - 20px - env(safe-area-inset-top));display:flex;flex-direction:column;margin:0 8px calc(8px + env(safe-area-inset-bottom));border-radius:28px;overflow:hidden;color:#eef5f0;
  background:linear-gradient(180deg,rgba(3,12,18,.74),rgba(2,10,15,.95)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat,#04121a;border:1px solid rgba(125,211,252,.16);box-shadow:0 20px 50px rgba(0,0,0,.6);transform:translateY(30px);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.mp-ov.show .mp-sheet{transform:none}
.mp-hd{flex:none;display:flex;align-items:flex-start;gap:12px;padding:18px 18px 10px}
.mp-hd h2{margin:0;font-size:22px;font-weight:800;line-height:1.2;color:#fff}
.mp-hd p{margin:2px 0 0;font-size:12.5px;color:rgba(238,245,240,.7)}
.mp-x{margin-left:auto;flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;padding:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:15px;cursor:pointer}
.mp-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 14px 18px;overscroll-behavior:contain}
.mp-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:none}
.mp-chips::-webkit-scrollbar{display:none}
.mp-chip{flex:none;width:74px;padding:9px 0 8px;border-radius:18px;text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#eef5f0;font:inherit;cursor:pointer;transition:background .2s,transform .2s}
.mp-chip b{display:block;font-size:17px;font-weight:800}
.mp-chip small{display:block;font-size:11px;opacity:.65}
.mp-chip em{display:inline-block;margin-top:4px;font-style:normal;font-size:11px;font-weight:800;color:#6ee7b7}
.mp-chip.on{background:linear-gradient(160deg,#6ee7b7,#34d399);color:#062a1d;border-color:transparent;box-shadow:0 8px 20px rgba(52,211,153,.35)}
.mp-chip.on small{opacity:.75}.mp-chip.on em{color:#064e3b}
/* หนังสือ + หน้า */
.mp-book{position:relative;perspective:1600px;transition:height .45s ease}
.mp-page{position:relative;transform-origin:left center;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}
.mp-page.under{position:absolute;left:0;right:0;top:0}
.mp-page.flip-out{z-index:2;animation:mpFlipOut .7s cubic-bezier(.45,.05,.35,1) forwards}
.mp-page.flip-in{z-index:2;animation:mpFlipIn .7s cubic-bezier(.45,.05,.35,1) forwards}
.mp-page.flip-out::after,.mp-page.flip-in::after{content:'';position:absolute;inset:0;border-radius:20px;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.0),rgba(0,0,0,.55));animation:mpShade .7s ease forwards}
.mp-page.flip-in::after{animation-direction:reverse}
@keyframes mpFlipOut{0%{transform:rotateY(0)}100%{transform:rotateY(-110deg);opacity:.2}}
@keyframes mpFlipIn{0%{transform:rotateY(-110deg);opacity:.2}100%{transform:rotateY(0);opacity:1}}
@keyframes mpShade{0%{opacity:0}100%{opacity:1}}
.mp-cal{padding:10px 8px 8px;border-radius:20px;background:linear-gradient(180deg,#fffaf0,#f5ecd7);border:1px solid #e3d3ad;box-shadow:0 10px 26px rgba(0,0,0,.35),inset 0 1px 0 #fff}
.mp-dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;font-weight:700;color:#8a7a5c;padding-bottom:4px}
.mp-dow .we{color:#c2410c}
.mp-wk{position:relative;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid rgba(120,95,45,.14)}
.mp-dn{padding:4px 0 0 6px;font-size:12px;font-weight:700;color:#3b3324}
.mp-dn.we{color:#c2410c}
.mp-dn.today b{display:inline-grid;place-items:center;width:22px;height:22px;margin:-3px 0 0 -4px;border-radius:50%;background:#1f3d28;color:#fff}
.mp-ev{position:absolute;height:20px;padding:0 6px;border:0;border-radius:7px;background:var(--c);color:#04120d;font:inherit;font-size:10.5px;font-weight:700;line-height:20px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 3px rgba(60,40,10,.25);cursor:pointer}
.mp-ev.cl{border-top-left-radius:0;border-bottom-left-radius:0}
.mp-ev.cr{border-top-right-radius:0;border-bottom-right-radius:0}
.mp-ev.lk{background:repeating-linear-gradient(135deg,rgba(90,70,30,.2) 0 6px,rgba(90,70,30,.1) 6px 12px);color:#5a4a26}
.mp-list{display:grid;gap:8px;margin-top:12px}
.mp-it{display:flex;gap:11px;align-items:center;width:100%;padding:8px;border-radius:16px;background:rgba(9,22,17,.8);border:1px solid rgba(255,255,255,.08);color:#eef5f0;font:inherit;text-align:left;cursor:pointer}
.mp-it .bar{flex:none;width:5px;align-self:stretch;border-radius:3px}
.mp-it i{flex:none;width:58px;height:58px;border-radius:12px;background:#0d2a20 center/cover no-repeat}
.mp-it .t{flex:1;min-width:0}
.mp-it .t b{display:block;font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-it .t small{font-size:12px;color:rgba(238,245,240,.7)}
.mp-it .s{flex:none;font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:999px;background:rgba(110,231,183,.15);color:#6ee7b7;white-space:nowrap}
.mp-it .s.low{background:rgba(239,68,68,.2);color:#fca5a5}
.mp-it .s.full{background:rgba(239,68,68,.25);color:#fecaca}
.mp-it .s.soon{background:rgba(255,255,255,.1);color:#d1d5db}
.mp-empty{padding:30px 16px;text-align:center;color:#93a69b;border:1px dashed rgba(255,255,255,.14);border-radius:18px}
.mp-chip:focus-visible,.mp-ev:focus-visible,.mp-it:focus-visible,.mp-x:focus-visible{outline:2px solid #6ee7b7;outline-offset:2px}
@media (min-width:600px){.mp-ov{align-items:center}.mp-sheet{margin:0}}
@media (prefers-reduced-motion:reduce){.mp-ov,.mp-sheet,.mp-book{transition:none}}
/* ล็อกกลางจอ ขนาดคงที่ (ไม่ยืด/หดตามจำนวนสัปดาห์หรือทริปของเดือน) — เนื้อหาเลื่อนข้างในแทน */
.mp-ov{align-items:center!important;padding:calc(12px + env(safe-area-inset-top)) 10px calc(12px + env(safe-area-inset-bottom))}
.mp-sheet{margin:0!important;height:min(760px,calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-height:none;transform:scale(.96)}
.mp-ov.show .mp-sheet{transform:none}
.mp-book{transition:none!important}
/* ==== css/137-month-timeline.css ==== */
/* แท็บทริปทั้งหมด: การ์ดเดือนแบบไทม์ไลน์ (js/170-month-timeline.js) */
.mtl{position:relative;padding-left:22px;margin:4px 0 8px}
.mtl::before{content:'';position:absolute;left:7px;top:16px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(180deg,#6ee7b7,rgba(110,231,183,.12))}
.mtl-mo{position:relative;margin-bottom:14px}
.mtl-mo::before{content:'';position:absolute;left:-20px;top:16px;width:12px;height:12px;border-radius:50%;background:#0b1712;border:2px solid #6ee7b7}
.mtl-mo.now::before{background:#6ee7b7;box-shadow:0 0 0 5px rgba(110,231,183,.2),0 0 14px #6ee7b7;animation:mtlPulse 2.2s ease-in-out infinite}
@keyframes mtlPulse{50%{box-shadow:0 0 0 8px rgba(110,231,183,.08),0 0 18px #6ee7b7}}
.mtl-card{position:relative;display:block;width:100%;height:172px;padding:0;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0d2a20;box-shadow:0 12px 26px rgba(0,0,0,.4);color:#eef5f0;text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mtl-card:active{transform:scale(.985)}
.mtl-col{position:absolute;inset:0;display:grid;gap:2px;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr}
.mtl-col i{background:#0d2a20 center/cover no-repeat}
.mtl-col.n3 i:first-child{grid-row:1/3}
.mtl-col.n2 i{grid-row:1/3}
.mtl-col.n1 i{grid-column:1/3;grid-row:1/3}
.mtl-fade{position:absolute;inset:0}
.mtl-fade i{position:absolute;inset:0;background:#0d2a20 center/cover no-repeat;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease,transform 6s ease}
.mtl-fade i.on{opacity:1;transform:scale(1)}
.mtl-card::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,9,.93) 0%,rgba(4,12,9,.6) 55%,rgba(4,12,9,.12))}
.mtl-tx{position:absolute;z-index:2;left:16px;top:14px;bottom:14px;right:60px;display:flex;flex-direction:column;align-items:flex-start}
.mtl-badge{padding:4px 10px;border-radius:999px;font-style:normal;font-size:11px;font-weight:800;background:#6ee7b7;color:#062a1d;margin-bottom:6px}
.mtl-badge.alt{background:rgba(255,255,255,.16);color:#fff}
.mtl-m{font-size:30px;font-weight:800;line-height:1.05;letter-spacing:-.4px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.mtl-m small{margin-left:6px;font-size:15px;font-weight:600;opacity:.6;letter-spacing:0}
.mtl-n{margin-top:4px;font-size:13px;font-weight:700;color:#6ee7b7}
.mtl-names{margin-top:auto;display:flex;flex-wrap:wrap;gap:5px;max-width:100%}
.mtl-names span{max-width:100%;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtl-names span.hot{background:rgba(239,68,68,.38)}
.mtl-go{position:absolute;z-index:3;right:14px;bottom:14px;width:38px;height:38px;border-radius:50%;background:#6ee7b7;color:#062a1d;display:grid;place-items:center;font-size:20px;font-weight:900}
html.tnh-halloween .mtl-go,html.tnh-halloween .mtl-badge:not(.alt){background:#fb923c;color:#2a1000}
html.tnh-halloween .mtl::before{background:linear-gradient(180deg,#fb923c,rgba(251,146,60,.12))}
html.tnh-halloween .mtl-mo::before{border-color:#fb923c}
html.tnh-halloween .mtl-mo.now::before{background:#fb923c;box-shadow:0 0 0 5px rgba(251,146,60,.2),0 0 14px #fb923c}
html.tnh-halloween .mtl-n{color:#fdba74}
.mtl-card:focus-visible{outline:2px solid #6ee7b7;outline-offset:2px}
.mtl-card::after{background:linear-gradient(90deg,rgba(4,12,9,.9) 0%,rgba(4,12,9,.5) 60%,rgba(4,12,9,.1))!important}
@media (prefers-reduced-motion:reduce){.mtl-fade i{transition:none;transform:none}.mtl-mo.now::before{animation:none}.mtl-card:active{transform:none}}
/* ==== css/138-desktop-new.css ==== */
/* ================================================================
   หน้าคอม (≥1024px) ให้ใช้ของใหม่ชุดเดียวกับมือถือ (ต.ค. 69)
   การ์ดทริปแบบ F · แท็บทริปทั้งหมดแบบไทม์ไลน์ · ปฏิทินพลิกหน้า · หน้าประกาศ · ตัวนับคนเข้าเว็บ
   ไฟล์ CSS หน้าคอมเดิม (70/98/99/199) บังคับการ์ดทริปเก่าด้วย !important → ตรงนี้คืนค่าให้การ์ดใหม่
   ================================================================ */
@media (min-width:1024px){
  /* ---------- การ์ดทริปแบบ F ---------- */
  #desktopApp .trip-hcard2.tcf,#appShell .trip-hcard2.tcf{height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;border-radius:22px!important;overflow:hidden!important;background:#0b1712!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 16px 34px rgba(0,0,0,.4)!important;transform:none;transition:transform .2s ease,box-shadow .2s ease!important}
  #desktopApp .trip-hcard2.tcf:hover{transform:translateY(-3px);box-shadow:0 22px 40px rgba(0,0,0,.5)!important}
  #desktopApp .tcf .tcf-ph{height:200px!important;aspect-ratio:auto!important;border-radius:0!important}
  #desktopApp .tcf .tcf-ph img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important;transform:none!important}
  #desktopApp .tcf:hover .tcf-ph img{transform:scale(1.04)!important;transition:transform .6s ease!important}
  #desktopApp .tcf .tcf-title{font-size:20px!important;color:#fff!important;margin:0!important}
  #desktopApp .tcf .tcf-meta{font-size:12.5px!important}
  #desktopApp .tcf .tcf-go,#desktopApp .tcf .tcf-share{cursor:pointer}
  #desktopApp #upcomingList,#desktopApp #bookingUpcomingList{align-items:start!important}
  #desktopApp #upcomingList .trip-hcard2.tcf,#desktopApp #bookingUpcomingList .trip-hcard2.tcf{height:auto!important}
  #desktopApp .trip-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:16px!important;align-items:start!important}
  #desktopApp #closedList,#desktopApp #pastList{display:block!important}
  #desktopApp #closedList .trip-hcard2.tcf,#desktopApp #pastList .trip-hcard2.tcf{max-width:520px}
  /* ---------- แท็บทริปทั้งหมด: ไทม์ไลน์เดือน เป็น 2 คอลัมน์ ---------- */
  #desktopApp .mtl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding-left:24px}
  #desktopApp .mtl-mo{margin:0}
  #desktopApp .mtl-card{height:210px}
  #desktopApp .mtl-m{font-size:34px}
  #desktopApp .mtl-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px rgba(0,0,0,.5)}
  #desktopApp .mtl-card:hover .mtl-go{transform:translateX(3px)}
  #desktopApp .mtl-go{transition:transform .2s}
  /* ---------- ปฏิทินทริป: กว้างขึ้น ปฏิทินซ้าย / รายการทริปขวา ---------- */
  .mp-sheet{max-width:1080px!important;height:min(760px,calc(100vh - 60px))!important}
  .mp-hd{padding:22px 26px 12px}
  .mp-body{padding:0 26px 24px}
  .mp-page{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;align-items:start}
  .mp-list{margin-top:0;max-height:calc(min(760px,100vh - 60px) - 230px);overflow:auto;padding-right:4px}
  .mp-wk{min-height:72px}
  .mp-dn{font-size:13px;padding:6px 0 0 8px}
  .mp-ev{height:22px;line-height:22px;font-size:11.5px}
  .mp-ev:hover,.mp-it:hover{filter:brightness(1.1)}
  .mp-chip{width:86px}
  /* ---------- หน้าประกาศ: ล้างกริด 3 คอลัมน์ของหน้าเรียนรู้เดิม · รายการกว้างพอดีอ่าน ---------- */
  #desktopApp #notifContent[data-tnh-view="announcements"],#appShell #notifContent[data-tnh-view="announcements"]{display:block!important;max-width:none!important}
  #desktopApp #notifContent[data-tnh-view="announcements"] > *{grid-column:auto!important}
  #desktopApp .an3,#desktopApp .an3-dt{margin-left:auto!important;margin-right:auto!important}
  #desktopApp .an3-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  #desktopApp .an3{max-width:880px}
  #desktopApp .an3-dt{max-width:880px;margin:0}
  #desktopApp .an3-dt-hero.full{border-radius:22px;overflow:hidden}
  #desktopApp .an3-feat.full .an3-feat-img{max-height:560px;object-fit:contain;background:#050d0a}
  #desktopApp .an3-dt-img{max-height:70vh;object-fit:contain;background:#050d0a}
  #desktopApp .an3-row:hover{background:rgba(255,255,255,.07)}
  /* ---------- ตัวนับคนเข้าเว็บ (หน้าหลักคอม) ---------- */
  #desktopApp .vc.vc-desk{position:static;opacity:1;transform:none;display:inline-flex;align-items:center;gap:12px;margin:0 0 12px;padding:6px 14px;border-radius:14px;background:rgba(6,11,19,.22);border:1px solid rgba(255,255,255,.14);color:#fff;pointer-events:auto}
  #desktopApp .vc.vc-desk .vc-r b{font-size:16px}
  #desktopApp .vc.vc-desk .vc-r small{font-size:10.5px}
}

/* ---------- หน้าโหลดตอนเปิดเว็บ ---------- */
.ld-desk{display:none}
@media (min-width:1024px){
  html body #loadingScreen,html[data-tnh-theme] body #loadingScreen{
    gap:0!important;background:radial-gradient(ellipse at 50% 46%,rgba(4,14,11,.25),rgba(3,9,7,.85) 70%),linear-gradient(180deg,rgba(3,10,8,.35),rgba(3,10,8,.75)),url('/ximg.php?f=1448375240586-882707db888b-1800.jpg') center/cover no-repeat,#04110d!important}
  html.tnh-halloween body #loadingScreen{gap:0!important;background:radial-gradient(ellipse at 50% 46%,rgba(30,8,40,.2),rgba(12,4,18,.88) 70%),linear-gradient(180deg,rgba(40,10,55,.4),rgba(14,5,22,.78)),url('/ximg.php?f=1448375240586-882707db888b-1800.jpg') center/cover no-repeat,#0c0614!important}
  html.tnh-halloween body #loadingScreen::before{top:8vh;right:10vw;width:150px;height:150px}
  #loadingScreen > *{transform:none!important}
  #loadingScreen .loading-ring-wrap{width:190px;height:190px;margin-bottom:22px}
  #loadingScreen .loading-ring{display:block;position:absolute;border-radius:50%}
  #loadingScreen .loading-logo{animation:none!important;position:relative;z-index:2;width:132px;height:132px;border-width:2px;box-shadow:0 0 40px rgba(45,212,191,.3),0 14px 40px rgba(0,0,0,.45)}
  #loadingScreen .loading-dot-a::after{width:9px;height:9px;margin-left:-4.5px}
  .ld-desk{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;text-align:center}
  .ld-desk strong{font-size:34px;font-weight:800;letter-spacing:.5px;text-shadow:0 4px 20px rgba(0,0,0,.5)}
  .ld-desk small{font-size:13px;font-weight:600;letter-spacing:2px;color:rgba(209,250,229,.75)}
  .ld-bar{display:block;position:relative;width:240px;height:4px;margin:20px 0 10px;border-radius:9px;overflow:hidden;background:rgba(255,255,255,.12)}
  .ld-bar em{position:absolute;top:0;bottom:0;left:-40%;width:40%;border-radius:9px;background:linear-gradient(90deg,transparent,#6ee7b7,transparent);animation:ldBar 1.3s ease-in-out infinite}
  html.tnh-halloween .ld-bar em{background:linear-gradient(90deg,transparent,#fb923c,transparent)}
  #loadingScreen .loading-text{font-size:14px;color:rgba(238,245,240,.8)}
  @keyframes ldBar{to{left:100%}}
  @keyframes ldLogo{50%{transform:scale(1.04)}}
}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){.ld-bar em{animation:none;left:30%}}
/* ==== css/139-hof-b.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* สายลุยตัวจริง แบบ B "พาสปอร์ตสายลุย" + การ์ดจำนวนผู้เดินทาง — คู่กับ js/172 (มือถือ + คอม) */
#topTravelersPodium.hfb{padding:20px 16px 16px}
#topTravelersPodium.hfb .hfb-kick,.hfb-ov .hfb-kick{font-size:11px;letter-spacing:.22em;color:#f5c84c;font-weight:800}
#topTravelersPodium.hfb .hfb-title{margin:4px 0 2px;font-size:27px;line-height:1.2;color:#fff;font-weight:800}
#topTravelersPodium.hfb .hfb-title span{color:#f5c84c}
#topTravelersPodium.hfb .hfb-sub{margin:0;color:#a9b8b0;font-size:13px}
#topTravelersPodium.hfb .hfb-empty{text-align:center;color:#a9b8b0;padding:26px 0 12px;margin:0}
.hfb-list{display:grid;gap:10px;margin-top:14px}
.hfb-card{display:grid;grid-template-columns:40px 56px 1fr;gap:12px;align-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(4px)}
.hfb-card.r1{background:linear-gradient(120deg,rgba(245,200,76,.2),rgba(245,200,76,.04));border-color:rgba(245,200,76,.45);padding:16px 12px;box-shadow:0 10px 30px rgba(245,200,76,.08)}
.hfb-rk{font:900 32px/1 system-ui,sans-serif;text-align:center;color:#cfd8e0}
.hfb-card.r1 .hfb-rk{color:#f5c84c;font-size:40px;text-shadow:0 0 18px rgba(245,200,76,.45)}
.hfb-card.r3 .hfb-rk{color:#e0965c}
.hfb-av{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;overflow:hidden;flex:none;background:linear-gradient(135deg,#3f6f55,#1c3a2b);border:2.5px solid #cfd8e0;color:#fff}
.hfb-av b{font-size:20px;font-weight:800}
.hfb-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hfb-card.r1 .hfb-av{width:62px;height:62px;border:3px solid #f5c84c;box-shadow:0 0 0 5px rgba(245,200,76,.14)}
.hfb-card.r3 .hfb-av{border-color:#e0965c}
.hfb-info{min-width:0}
.hfb-nm{display:flex;align-items:baseline;gap:8px}
.hfb-nm b{font-size:17px;color:#fff;font-weight:800;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hfb-tc{font-weight:800;color:#cfd8e0;white-space:nowrap;font-size:15px}
.hfb-card.r1 .hfb-tc{color:#f5c84c}.hfb-card.r3 .hfb-tc{color:#e0965c}
.hfb-st{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:7px}
.hfb-st i{width:13px;height:13px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.25)}
.hfb-st i.on{border:0;background:radial-gradient(circle at 35% 35%,#ffe58a,#c98a12);box-shadow:0 0 6px rgba(245,200,76,.5)}
.r2 .hfb-st i.on{background:radial-gradient(circle at 35% 35%,#fff,#9fb0bd);box-shadow:none}
.r3 .hfb-st i.on{background:radial-gradient(circle at 35% 35%,#ffc18f,#a0522d);box-shadow:none}
.hfb-st em{font-style:normal;font-size:11px;font-weight:800;color:#f5c84c;margin-left:2px}
.hfb-tip{display:block;font-size:12px;color:#e8dcb5;margin-top:5px}
.hfb-more{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:14px;padding:13px 14px;border-radius:16px;background:rgba(245,200,76,.09);border:1px solid rgba(245,200,76,.28);color:#f5c84c;font-size:14.5px}
.hfb-more b{font-weight:800}
.hfb-more span{color:#c7d2cb;font-size:12.5px}
.hfb-more:focus-visible{outline:2px solid #f5c84c;outline-offset:2px}

/* การ์ดจำนวนผู้เดินทาง */
.hfb-stack{display:flex;margin-bottom:12px}
.hfb-stack .hfb-av{width:34px;height:34px;border:2px solid #0b1712;margin-left:-10px}
.hfb-stack .hfb-av:first-child{margin-left:0}
.hfb-stack .hfb-av b{font-size:12px}
.hfb-stack .hfb-av.more{width:auto;min-width:34px;padding:0 9px;border-radius:99px;background:#1d3a2c;color:#9ff0c8}
.hfb-stack .hfb-av.more b{font-size:11.5px}
/* การ์ดจำนวนนักเดินทาง — โทนป่าเข้มเหมือนการ์ดสายลุยด้านบน (ต.ค. 69) */
html.tnh-hfb #travelerStatBar.hfb-goal{position:relative;isolation:isolate;overflow:hidden;display:block;padding:18px 16px 16px;border-radius:22px;color:#fff;
  background:linear-gradient(160deg,rgba(18,44,33,.95),rgba(7,17,13,.97));border:1px solid rgba(61,220,151,.22);box-shadow:0 10px 30px rgba(0,0,0,.28)}
html.tnh-hfb #travelerStatBar.hfb-goal::before{content:'';position:absolute;z-index:-1;right:-10px;bottom:-2px;width:62%;height:70px;opacity:.5;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M0 70 L0 52 L32 30 L52 42 L92 6 L126 38 L146 26 L200 54 L200 70Z' fill='%231a3a2b'/%3E%3Cpath d='M92 6 L101 16 L96 15 L92 19 L88 15 L83 16Z' fill='%23e8f0ec' opacity='.7'/%3E%3C/svg%3E") right bottom/100% 100% no-repeat}
html.tnh-hfb #travelerStatBar.hfb-goal::after{content:'';position:absolute;z-index:-1;left:-60px;top:-70px;width:200px;height:200px;border-radius:50%;background:#3ddc97;filter:blur(70px);opacity:.14;pointer-events:none}
.hfb-bg{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;border-radius:inherit}
.hfb-bg i{position:absolute;inset:-4%;background:#0b1712 center/cover no-repeat;opacity:0;transform:scale(1.06);transition:opacity 1.6s ease,transform 7s linear}
.hfb-bg i.on{opacity:1;transform:scale(1)}
.hfb-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,17,13,.38) 0%,rgba(7,17,13,.62) 45%,rgba(7,17,13,.9) 100%),linear-gradient(90deg,rgba(7,17,13,.55),rgba(7,17,13,.1) 70%)}
html.tnh-hfb #travelerStatBar.hfb-goal .hfb-g-big,html.tnh-hfb #travelerStatBar.hfb-goal p,.hfb-g-row{text-shadow:0 1px 8px rgba(0,0,0,.55)}
@media (prefers-reduced-motion:reduce){.hfb-bg i{transition:none;transform:none}}
.hfb-g-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.hfb-g-top .hfb-stack{margin:0}
.hfb-g-kick{font-size:11px;font-weight:800;letter-spacing:.06em;color:#f5c84c}
.hfb-g-big{font:900 46px/1.05 system-ui,sans-serif;letter-spacing:-.01em;color:#fff}
.hfb-g-num{display:inline-block;min-width:2ch;background:linear-gradient(180deg,#fff,#c9f7e1);-webkit-background-clip:text;background-clip:text;color:transparent}
.hfb-g-big small{font-size:16px;font-weight:700;color:#9fb3aa;margin-left:8px;letter-spacing:0}
html.tnh-hfb #travelerStatBar.hfb-goal p{margin:6px 0 0;color:#cfe0d8;font-size:13.5px;line-height:1.5}
.hfb-g-txt .hfb-g-big{font-size:20px}
/* เส้นทางสู่เป้าหมาย: แถบเขียว→ทอง + รองเท้าเดินป่าที่ตำแหน่งปัจจุบัน + ธงที่เส้นชัย */
.hfb-trail{position:relative;margin:18px 14px 8px 0}
.hfb-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.06);overflow:hidden}
.hfb-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#10b981,#3ddc97 55%,#f5c84c);transform-origin:left;position:relative;overflow:hidden}
.hfb-bar i::after{content:'';position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-120%)}
.hfb-goal.go .hfb-bar i{animation:hfbGrow 1.2s cubic-bezier(.2,.8,.2,1) both}
.hfb-goal.go .hfb-bar i::after{animation:hfbShine 1.2s 1.2s ease-out 1}
@keyframes hfbGrow{from{transform:scaleX(0)}}
@keyframes hfbShine{to{transform:translateX(320%)}}
.hfb-hiker{position:absolute;top:-20px;font-size:18px;line-height:1;transform:translateX(-50%);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.hfb-goal.go .hfb-hiker{animation:hfbWalk 1.2s cubic-bezier(.2,.8,.2,1) both,hfbBob 1.6s 1.3s ease-in-out infinite}
@keyframes hfbWalk{from{left:0!important;opacity:0}}
@keyframes hfbBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-3px)}}
.hfb-flag{position:absolute;right:-14px;top:-17px;font-size:17px;transform-origin:15% 90%}
.hfb-goal.go .hfb-flag{animation:hfbFlag 2.4s 1.2s ease-in-out infinite}
@keyframes hfbFlag{0%,100%{transform:rotate(0)}50%{transform:rotate(-10deg)}}
.hfb-g-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:#9fb3aa}
.hfb-g-row b{color:#f5c84c}
.hfb-g-row b.w{color:#fff}

/* รายชื่ออันดับทั้งหมด */
html.hfb-lock{overflow:hidden}
.hfb-ov{position:fixed;inset:0;z-index:30200;background:rgba(2,6,5,.6);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s}
.hfb-ov.show{opacity:1}
.hfb-sheet{width:100%;max-width:560px;max-height:86dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,#14241d,#0b1512);border:1px solid rgba(255,255,255,.1);border-bottom:0;border-radius:24px 24px 0 0;padding:18px 16px calc(14px + env(safe-area-inset-bottom));color:#fff;transform:translateY(30px);transition:transform .25s;outline:none}
.hfb-ov.show .hfb-sheet{transform:none}
.hfb-sh-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.hfb-sh-head h3{margin:4px 0 2px;font-size:22px;font-weight:800}
.hfb-sh-head p{margin:0;color:#a9b8b0;font-size:12.5px}
.hfb-x{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#fff;font-size:16px;cursor:pointer}
.hfb-rows{list-style:none;margin:0;padding:8px 0 0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.hfb-rows li{display:grid;grid-template-columns:30px 42px 1fr auto;gap:10px;align-items:center;padding:9px 8px;border-radius:14px}
.hfb-rows li+li{margin-top:2px}
.hfb-rows li em{font-style:normal;font-weight:900;text-align:center;color:#9fb0a6;font-size:16px}
.hfb-rows li.r1 em{color:#f5c84c}.hfb-rows li.r2 em{color:#cfd8e0}.hfb-rows li.r3 em{color:#e0965c}
.hfb-rows .hfb-av{width:42px;height:42px;border-width:2px}
.hfb-rows .hfb-av b{font-size:15px}
.hfb-rows .nm{min-width:0}
.hfb-rows .nm b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hfb-rows .nm b i{font-style:normal;font-size:11px;font-weight:800;color:#0b1512;background:#3ddc97;border-radius:99px;padding:1px 7px;margin-left:4px;vertical-align:2px}
.hfb-rows .hfb-st{margin-top:4px;gap:3px}
.hfb-rows .hfb-st i{width:9px;height:9px;border-width:1px}
.hfb-rows .tc{font-weight:800;font-size:18px;color:#f5c84c}
.hfb-rows li.me{background:rgba(61,220,151,.08);border:1px dashed rgba(61,220,151,.45)}
.hfb-rows li.gap{display:block;text-align:center;color:#6f817a;padding:2px}
.hfb-sh-foot{margin:10px 0 0;text-align:center;color:#a9b8b0;font-size:13px}

/* ===== สายลุย: กราฟความสูงแบบแอปเดินป่า (ต.ค. 69) — กะทัดรัด พื้นโปร่งตามการ์ด ===== */
.hfm{position:relative;height:222px;margin:10px 0 0}
.hfm-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hfm.go .hfm-ln{animation:hfmDraw 1.4s cubic-bezier(.4,0,.2,1) both}
@keyframes hfmDraw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.hfm::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.06)}
.hfm-pin{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:3px;transform:translate(-50%,-100%)}
.hfm-pin::after{content:'';width:1px;height:8px;background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,0))}
.hfm-av{width:32px;height:32px;border:1.5px solid rgba(255,255,255,.65);box-shadow:0 3px 10px rgba(0,0,0,.45)}
.hfm-av b{font-size:12.5px}
.hfm-lb{font-size:10.5px;font-weight:700;color:#e6efe9;white-space:nowrap;max-width:96px;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 6px rgba(0,0,0,.8);line-height:1.2}
.hfm-lb i{font-style:normal;font-weight:600;color:#9fb3aa}
.hfm-pin.top{z-index:3;flex-direction:column-reverse}
.hfm-pin.top::after{display:none}
.hfm-pin.top .hfm-av{margin-bottom:4px}
.hfm-pin.top .hfm-av{width:48px;height:48px;border:2px solid #f5c84c;box-shadow:0 0 0 4px rgba(245,200,76,.14),0 0 22px rgba(245,200,76,.3)}
.hfm-pin.top .hfm-av b{font-size:18px}
.hfm-pin.top .hfm-lb{color:#f5c84c;font-size:12px;max-width:170px}
.hfm-pin.me .hfm-av{border-color:#3ddc97;box-shadow:0 0 0 3px rgba(61,220,151,.22)}
.hfm-pin.me .hfm-lb{color:#3ddc97}
/* เล่นครั้งแรก: เส้นกราฟวาดขึ้น แล้วลูกทริปค่อยๆ โผล่ทีละคนจากตีนเขาถึงยอด */
.hfm:not(.go):not(.played) .hfm-pin{opacity:0}
.hfm:not(.go):not(.played) .hfm-ln{clip-path:inset(0 100% 0 0)}
.hfm.go .hfm-pin{animation:hfmPop .6s cubic-bezier(.2,.9,.3,1.2) var(--d,0s) both}
@keyframes hfmPop{from{opacity:0;translate:0 22px;scale:.6}to{opacity:1;translate:0 0;scale:1}}
#topTravelersPodium.hfb .hfb-title span{color:#f5c84c}
.hfp-tip{margin:8px 2px 0;text-align:center;font-size:12.5px;color:#cfe0d8}
.hfm-cta{margin:2px 2px 0;text-align:center;font-size:12px;color:#9fb3aa}
#topTravelersPodium.hfb .hfb-more{margin-top:10px}
@media (min-width:1024px){
  #desktopApp .hfm{height:240px;margin:8px 0 0}
  #desktopApp .hfm-av{width:36px;height:36px}
  #desktopApp .hfm-pin.top .hfm-av{width:54px;height:54px}
  #desktopApp .hfm-lb{font-size:12px;max-width:120px}
}
@media (prefers-reduced-motion:reduce){.hfm .hfm-run,.hfm .hfm-pin.top .hfm-av{animation:none!important}.hfm .hfm-run{opacity:0}}

/* แสงวิ่งขึ้นเขาตามเส้นทาง + ยอดเขาเรืองแสง (เล่นวนเบาๆ หลังเส้นวาดเสร็จ) */
.hfm-run{stroke-dasharray:9 91;stroke-dashoffset:9;opacity:0;filter:drop-shadow(0 0 3px #3ddc97) drop-shadow(0 0 6px #3ddc97)}
.hfm.go .hfm-run,.hfm.played .hfm-run{animation:hfmRun 3.2s 1.6s cubic-bezier(.45,0,.55,1) infinite}
@keyframes hfmRun{0%{stroke-dashoffset:9;opacity:0}12%{opacity:1}80%{opacity:1}100%{stroke-dashoffset:-93;opacity:0}}
.hfm-pin.top .hfm-av{position:relative}
.hfm.go .hfm-pin.top .hfm-av,.hfm.played .hfm-pin.top .hfm-av{animation:hfmGlow 2.6s 2s ease-in-out infinite}
@keyframes hfmGlow{0%,100%{box-shadow:0 0 0 4px rgba(245,200,76,.14),0 0 18px rgba(245,200,76,.25)}50%{box-shadow:0 0 0 7px rgba(245,200,76,.08),0 0 32px rgba(245,200,76,.55)}}
.hfm.go .hfm-pin.top{animation:hfmPop .8s cubic-bezier(.2,.9,.3,1.35) var(--d,0s) both}
.hfm.go .hfm-pin .hfm-lb{animation:hfmLb .5s calc(var(--d,0s) + .25s) ease-out both}
@keyframes hfmLb{from{opacity:0;transform:translateY(-4px)}}

/* ===== หน้ารายชื่ออันดับทั้งหมด (ต.ค. 69): หัวเป็นรูปทริปเฟดสลับ · พื้นกระจกโทนป่า · แถวค่อยๆ ไล่ขึ้นมา ===== */
.hfb-ov{background:rgba(2,8,6,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .25s}
.hfb-ov.closing{transition:opacity .24s ease-in}
.hfb-sheet{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,rgba(16,40,30,.94),rgba(7,17,13,.97) 40%);border:1px solid rgba(61,220,151,.2);border-bottom:0;box-shadow:0 -20px 60px rgba(0,0,0,.45);transform:translateY(100%);transition:transform .45s cubic-bezier(.2,.9,.25,1)}
.hfb-ov.closing .hfb-sheet{transform:translateY(100%);transition:transform .24s cubic-bezier(.5,0,.75,0)}
.hfb-sh-bg{position:absolute;left:0;right:0;top:0;height:180px;z-index:-1;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(#000 45%,transparent);mask-image:linear-gradient(#000 45%,transparent)}
.hfb-sh-bg i{position:absolute;inset:0;background:#0b1712 center/cover no-repeat;opacity:0;animation:hfbShFade calc(var(--n) * 4s) calc(var(--k) * 4s - .01s) linear infinite}
.hfb-sh-bg i:first-child{opacity:1}
.hfb-sh-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,22,16,.3),rgba(9,22,16,.7))}
@keyframes hfbShFade{0%{opacity:0;transform:scale(1.08)}6%{opacity:1}25%{opacity:1}31%{opacity:0;transform:scale(1)}100%{opacity:0}}
.hfb-sheet[style*="--n:1"] .hfb-sh-bg i{animation:none;opacity:1}
.hfb-sh-head{position:relative;padding:34px 0 12px;border-bottom:1px solid rgba(255,255,255,.07)}
.hfb-sh-head h3{text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hfb-sh-head p{color:#cfe0d8;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.hfb-x{background:rgba(7,17,13,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);transition:transform .2s,background .2s}
.hfb-x:hover{background:rgba(61,220,151,.18);transform:rotate(90deg)}
.hfb-sh-head>div>*{animation:hfbUp .5s cubic-bezier(.2,.8,.2,1) both}
.hfb-sh-head>div>*:nth-child(2){animation-delay:.06s}.hfb-sh-head>div>*:nth-child(3){animation-delay:.12s}
.hfb-rows li{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);transition:background .2s,transform .2s}
.hfb-rows li+li{margin-top:6px}
.hfb-rows li.r1{background:linear-gradient(100deg,rgba(245,200,76,.16),rgba(245,200,76,.02));border-color:rgba(245,200,76,.32)}
.hfb-rows li.r2{background:linear-gradient(100deg,rgba(207,216,224,.1),rgba(207,216,224,.01));border-color:rgba(207,216,224,.18)}
.hfb-rows li.r3{background:linear-gradient(100deg,rgba(224,150,92,.12),rgba(224,150,92,.01));border-color:rgba(224,150,92,.22)}
.hfb-rows li.gap{background:none;border:0}
.hfb-rows li.r1 .hfb-av{border-color:#f5c84c;box-shadow:0 0 0 3px rgba(245,200,76,.16)}
.hfb-ov.show .hfb-rows li{animation:hfbUp .5s calc(.12s + var(--i,0) * 45ms) cubic-bezier(.2,.8,.2,1) both}
.hfb-ov.show .hfb-rows .hfb-st i.on{animation:hfbDot .35s calc(.35s + var(--i,0) * 45ms) cubic-bezier(.3,1.5,.5,1) both}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(2){animation-delay:calc(.39s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(3){animation-delay:calc(.43s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(4){animation-delay:calc(.47s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(5){animation-delay:calc(.51s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(6){animation-delay:calc(.55s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(7){animation-delay:calc(.59s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(8){animation-delay:calc(.63s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(9){animation-delay:calc(.67s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(10){animation-delay:calc(.71s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(11){animation-delay:calc(.75s + var(--i,0) * 45ms)}
.hfb-ov.show .hfb-rows .hfb-st i.on:nth-child(12){animation-delay:calc(.79s + var(--i,0) * 45ms)}
@keyframes hfbUp{from{opacity:0;transform:translateY(14px)}}
@keyframes hfbDot{from{opacity:0;transform:scale(.2)}}
@media (hover:hover){.hfb-rows li:not(.gap):hover{background:rgba(61,220,151,.07);transform:translateX(3px)}}

/* ===== คอม ≥1024px ===== */
@media (min-width:1024px){
  #desktopApp #topTravelersPodium.hfb{padding:24px 24px 20px}
  #desktopApp #topTravelersPodium.hfb .hfb-title{font-size:30px}
  #desktopApp .hfb-list{grid-template-columns:1.15fr 1fr 1fr;gap:12px;align-items:stretch}
  #desktopApp .hfb-card{grid-template-columns:1fr;justify-items:center;text-align:center;gap:8px;padding:18px 14px}
  #desktopApp .hfb-card.r1{padding:18px 14px}
  #desktopApp .hfb-rk{order:-1;font-size:28px}
  #desktopApp .hfb-card.r1 .hfb-rk{font-size:34px}
  #desktopApp .hfb-card .hfb-av{width:68px;height:68px}
  #desktopApp .hfb-card.r1 .hfb-av{width:78px;height:78px}
  #desktopApp .hfb-info{width:100%}
  #desktopApp .hfb-nm{flex-direction:column;align-items:center;gap:0}
  #desktopApp .hfb-nm b{flex:none;max-width:100%}
  #desktopApp .hfb-st{justify-content:center}
  #desktopApp .hfb-more{max-width:420px;margin-left:auto;margin-right:auto}
  #desktopApp .pc-support #travelerStatBar.hfb-goal,html.tnh-hfb #desktopApp #travelerStatBar.hfb-goal{display:block!important;padding:20px 18px!important;border-radius:20px!important;background:linear-gradient(160deg,rgba(18,44,33,.95),rgba(7,17,13,.97))!important;border:1px solid rgba(61,220,151,.22)!important;margin:0!important}
  #desktopApp #travelerStatBar.hfb-goal .hfb-g-big{font-size:40px}
  .hfb-ov{align-items:center}
  .hfb-sheet{border-radius:24px;border-bottom:1px solid rgba(61,220,151,.2);max-height:80vh;padding:22px 20px 18px;transform:translateY(24px) scale(.96);opacity:0;transition:transform .4s cubic-bezier(.2,.9,.25,1),opacity .3s}
  .hfb-ov.show .hfb-sheet{opacity:1}
  .hfb-ov.closing .hfb-sheet{transform:translateY(12px) scale(.97);opacity:0;transition:transform .22s ease-in,opacity .22s}
}
@media (prefers-reduced-motion:reduce){.hfb-hiker,.hfb-flag,.hfm-run,.hfb-sh-bg i{animation:none!important}.hfb-sh-bg i:first-child{opacity:1}}
html.tnh-hfb #travelerStatBar.hfb-goal:has(.hfb-bg)::before{opacity:.28}
/* ==== css/140-chatbot.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* แชทบอท "น้องช่างแม่งเหอะ" v2 — ปุ่มหน้าน้อง (แบบ B) + หน้าต่างแชทโทนดำป่าทึบ · คู่กับ js/173 (มือถือ + คอม) */
#tnhChat{--cb-bottom:96px;--cb-g:#3ddc97;--cb-gold:#f5c84c;font-family:inherit}

/* ---------- ปุ่มลอย: หน้าน้อง ---------- */
.cb-fab{position:fixed;right:14px;bottom:var(--cb-bottom);z-index:30150;width:62px;height:62px;padding:0;border-radius:50%;cursor:pointer;overflow:visible;
  background:#0c0c0c;border:2px solid rgba(255,255,255,.88);box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 5px rgba(255,255,255,.06);transition:opacity .2s,transform .2s}
.cb-fab svg{width:100%;height:100%;border-radius:50%;display:block}
.cb-fab:active{transform:scale(.94)}
.cb-fab:focus-visible{outline:3px solid #9ff0c8;outline-offset:4px}
.cb-on{position:absolute;right:0;bottom:2px;width:14px;height:14px;border-radius:50%;background:var(--cb-g);border:3px solid #0a0a0a}
.cb-fab .cb-on{animation:cbPulse 2.4s ease-in-out infinite}
@keyframes cbPulse{0%,100%{box-shadow:0 0 0 0 rgba(61,220,151,.55)}50%{box-shadow:0 0 0 6px rgba(61,220,151,0)}}
.cb-tip{position:fixed;right:86px;bottom:calc(var(--cb-bottom) + 12px);z-index:30150;white-space:nowrap;pointer-events:none;
  background:rgba(10,10,10,.9);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:13.5px;font-weight:700;padding:8px 12px;border-radius:14px 14px 4px 14px;box-shadow:0 8px 20px rgba(0,0,0,.45);
  opacity:0;transform:translateX(8px) scale(.96);transition:opacity .25s,transform .25s}
#tnhChat.tip .cb-tip{opacity:1;transform:none}
#tnhChat.hide .cb-fab,#tnhChat.hide .cb-tip{opacity:0;pointer-events:none;transform:translateY(12px) scale(.9)}
#tnhChat.open .cb-fab,#tnhChat.open .cb-tip{opacity:0;pointer-events:none}

/* ---------- หน้าต่างแชท ---------- */
.cb-panel{position:fixed;inset:0;z-index:30210;display:flex;flex-direction:column;background:#000;color:#f2f2f2;outline:none;overflow:hidden}
.cb-panel[hidden]{display:none}
.cb-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center 20%/cover no-repeat;filter:saturate(.35) brightness(.55)}
.cb-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.75) 32%,#000 70%)}
.cb-head,.cb-body,.cb-foot{position:relative;z-index:1}
.cb-head{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 12px}
.cb-av{position:relative;width:46px;height:46px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.9)}
.cb-av svg{width:100%;height:100%;border-radius:50%;display:block}
.cb-av .cb-on{width:13px;height:13px;right:-2px;bottom:-1px;border-width:2.5px;border-color:#000}
.cb-head b{display:block;font-size:17px;letter-spacing:.2px;color:#fff}
.cb-sub{display:flex;align-items:center;gap:6px;font-size:12px;color:#b7c2bc}
.cb-ai{font-size:10.5px;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:99px;background:linear-gradient(120deg,var(--cb-gold),var(--cb-g));color:#06140d}
.cb-live{width:7px;height:7px;border-radius:50%;background:var(--cb-g)}
.cb-x{margin-left:auto;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:15px;cursor:pointer}
.cb-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 14px 12px;display:flex;flex-direction:column;gap:10px}

/* หน้าต้อนรับ */
.cb-hero{margin:14px 2px 4px;text-align:center}
.cb-big{display:block;margin:0 auto 12px;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 8px rgba(255,255,255,.05),0 14px 40px rgba(0,0,0,.6)}
.cb-hero h2{margin:0;font-size:21px;line-height:1.35;color:#fff;font-weight:800}
.cb-hero p{margin:7px auto 0;max-width:330px;color:#b7c2bc;font-size:14px;line-height:1.6}
.cb-hero p b{color:#fff}
.cb-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
.cb-tile{all:unset;box-sizing:border-box;cursor:pointer;padding:13px 12px;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s,border-color .15s}
.cb-tile:active{transform:scale(.97)}
.cb-tile:hover{border-color:rgba(255,255,255,.25)}
.cb-tile:focus-visible{outline:2px solid var(--cb-g)}
.cb-tile i{font-style:normal;font-size:20px;display:block;margin-bottom:6px}
.cb-tile b{display:block;font-size:14.5px;color:#fff}
.cb-tile span{font-size:12px;color:#9ea9a3}

/* ฟองข้อความ */
.cb-m{display:flex;gap:8px;align-items:flex-end;animation:cbIn .22s ease-out}
@keyframes cbIn{from{opacity:0;transform:translateY(6px)}}
.cb-m.me{justify-content:flex-end}
.cb-sa{width:28px;height:28px;flex:none;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);overflow:hidden}
.cb-sa svg{width:100%;height:100%;display:block}
.cb-b{max-width:82%;padding:11px 14px;border-radius:20px;font-size:14.5px;line-height:1.6;word-wrap:break-word}
.cb-b.bot{background:rgba(28,28,28,.86);border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eef0ef}
.cb-b.me{background:#f4f4f2;color:#111;font-weight:600;border-bottom-right-radius:6px}
.cb-b b{color:#fff}.cb-b.me b{color:#111}
.cb-mute{color:#9ea9a3;font-size:13px}
.cb-ol{margin:6px 0;padding-left:1.3em}.cb-ol li{margin:2px 0}
.cb-typing{display:inline-flex;gap:4px;padding:4px 2px}
.cb-typing i{width:7px;height:7px;border-radius:50%;background:#cfd6d2;animation:cbDot 1s infinite}
.cb-typing i:nth-child(2){animation-delay:.15s}.cb-typing i:nth-child(3){animation-delay:.3s}
@keyframes cbDot{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}

/* การ์ดทริป */
.cb-trips{display:grid;gap:8px;margin-top:9px}
.cb-trip{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;width:100%;padding:8px;border-radius:16px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.08)}
.cb-trip:focus-visible{outline:2px solid var(--cb-g)}
.cb-trip img{width:62px;height:62px;border-radius:12px;object-fit:cover;background:#111}
.cb-ti{min-width:0}
.cb-ti > b{display:block;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-ti small{display:block;color:#a7b0ab;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-bar{display:block;height:5px;border-radius:9px;background:rgba(255,255,255,.12);margin:6px 0 5px;overflow:hidden}
.cb-bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--cb-g),var(--cb-gold))}
.cb-tr{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cb-pr{font-weight:800;color:var(--cb-gold);font-size:14px;display:flex;align-items:baseline;gap:7px}
.cb-pr i{font-style:normal;font-weight:600;font-size:11.5px;color:#9ff0c8}.cb-pr i.low{color:#ffb4a8}
.cb-tr em{font-style:normal;font-size:12px;font-weight:800;padding:6px 13px;border-radius:99px;background:#fff;color:#111;white-space:nowrap}

/* ลิงก์/ปุ่มในคำตอบ */
.cb-link{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;margin:9px 6px 0 0;padding:7px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.2);color:#e8ece9;font-size:12.5px;font-weight:600;text-decoration:none}
.cb-link:focus-visible{outline:2px solid var(--cb-g)}
.cb-line{display:block;margin-top:10px;padding:10px 14px;border-radius:16px;background:#06c755;color:#fff!important;font-weight:800;text-decoration:none;font-size:14px}
.cb-line small{display:block;font-weight:500;font-size:12px;color:#e6ffe9}

.cb-src{margin-top:9px;font-size:11.5px;color:#8f9993;line-height:1.5}
.cb-src a{color:#b7c2bc;text-decoration:underline;text-underline-offset:2px}

/* ท้าย */
.cb-foot{padding:8px 12px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#000 65%,rgba(0,0,0,0))}
.cb-quick{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:10px}
.cb-quick::-webkit-scrollbar{display:none}
.cb-quick:empty{display:none}
.cb-quick button{flex:none;white-space:nowrap;padding:8px 13px;border-radius:99px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#e9ecea;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.cb-form{display:flex;gap:8px;align-items:center;padding:6px 6px 6px 16px;border-radius:999px;background:rgba(30,30,30,.92);border:1px solid rgba(255,255,255,.14)}
.cb-form:focus-within{border-color:rgba(255,255,255,.4)}
.cb-form input{flex:1;min-width:0;height:40px;padding:0;border:0;background:none;color:#fff;font-family:inherit;font-size:16px;outline:none}
.cb-form input::placeholder{color:#7f8884}
.cb-form button{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:#fff;color:#000;display:grid;place-items:center;cursor:pointer}
.cb-note{margin:7px 0 0;font-size:10.5px;color:#6c7470;text-align:center}
.cb-note[hidden]{display:none}
html.cb-lock,html.cb-lock body{overflow:hidden;overscroll-behavior:none}
@media (max-width:1023px){.cb-panel{height:100dvh;box-shadow:0 0 0 100vmax #000}}

/* ---------- คอม ---------- */
@media (min-width:1024px){
  .cb-fab{right:24px;bottom:24px}
  .cb-tip{right:96px;bottom:36px}
  .cb-panel{inset:auto 22px 22px auto;width:410px;height:min(660px,calc(100vh - 44px));border-radius:26px;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.7)}
  .cb-head{padding-top:16px}
  .cb-hero{margin-top:6px}
  .cb-big{width:70px;height:70px}
  .cb-foot{padding-bottom:14px}
}
@media (prefers-reduced-motion:reduce){.cb-m{animation:none}.cb-typing i,.cb-fab .cb-on{animation:none}.cb-fab,.cb-tip{transition:none}}
/* ==== css/141-certificate.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ใบประกาศนียบัตร — ปุ่มในการ์ดสรุปศูนย์เรียนรู้ + หน้าต่างสร้างใบประกาศ (js/174) มือถือ + คอม */
.lc-cert-btn{all:unset;box-sizing:border-box;cursor:pointer;grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;width:100%;margin-top:12px;padding:12px 14px;border-radius:16px;background:linear-gradient(120deg,#f5d77a,#d9a640);color:#2a1d00;box-shadow:0 8px 22px rgba(217,166,64,.35)}
.lc-cert-btn span{grid-row:1/3;font-size:28px}
.lc-cert-btn b{font-size:16px;font-weight:800}
.lc-cert-btn small{font-size:12.5px;opacity:.8}
.lc-cert-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
html.cert-lock{overflow:hidden}
.cert-ov{position:fixed;inset:0;z-index:30300;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s}
.cert-ov.show{opacity:1}
.cert-box{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:22px 18px 18px;border-radius:24px;background:linear-gradient(180deg,#fffdf6,#f3ead3);color:#2a2418;border:2px solid #d6b469;box-shadow:0 30px 80px rgba(0,0,0,.6);text-align:center;outline:none}
.cert-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.08);color:#2a2418;font-size:15px;cursor:pointer}
.cert-ic{font-size:44px}
.cert-box h3{margin:6px 0 4px;font-size:21px;color:#2e5b3a;font-weight:800;line-height:1.35}
.cert-box p{margin:0 0 12px;font-size:14px;color:#6b5d3e;line-height:1.5}
.cert-box input{width:100%;height:50px;padding:0 14px;border-radius:14px;border:2px solid #d6b469;background:#fff;color:#1f3d28;font-family:inherit;font-size:18px;font-weight:700;text-align:center;outline:none}
.cert-box input:focus{border-color:#2e5b3a}
.cert-go,.cert-sec{border:0;border-radius:999px;padding:13px 20px;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer}
.cert-go{margin-top:12px;width:100%;background:#2e5b3a;color:#fff}
.cert-sec{background:#fff;color:#2e5b3a;border:2px solid #2e5b3a}
.cert-prev{min-height:160px;display:grid;place-items:center;border-radius:12px;overflow:hidden;background:#efe4c6;margin-top:18px}
.cert-prev img{width:100%;height:auto;display:block}
.cert-wait{color:#6b5d3e;font-weight:700}
.cert-acts{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;margin-top:12px}
.cert-acts .cert-go{margin:0}
.cert-tip{margin:10px 0 0;font-size:12px!important}
.cert-f{text-align:left;margin-top:12px}
.cert-f label{display:block;margin:0 0 6px 4px;font-size:13px;font-weight:800;color:#5a4a26}
.cert-box .cert-f input{height:48px;font-size:17px;text-align:left}
.cert-box #certTitleX{margin-top:8px}
.cert-chips{display:flex;flex-wrap:wrap;gap:8px}
.cert-chip{border:2px solid #d6b469;background:#fff;color:#5a4a26;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}
.cert-chip.on{background:#2e5b3a;border-color:#2e5b3a;color:#fff}
.cert-row{display:grid;grid-template-columns:1fr;gap:0}
.cert-err{margin:10px 0 0!important;color:#b42318!important;font-weight:700}
.cert-confirm{margin:6px 0 14px;padding:18px 12px;border-radius:16px;background:#fff;border:2px dashed #d6b469;font-size:26px;font-weight:800;color:#1f3d28;line-height:1.3;word-break:break-word}
.cert-ok{display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;font-weight:700;color:#2e5b3a;cursor:pointer}
.cert-box .cert-ok input{width:22px;height:22px;accent-color:#2e5b3a}
.cert-acts2{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;margin-top:14px}
.cert-acts2 .cert-go{margin:0}
.cert-go:disabled{opacity:.4;cursor:not-allowed}
.cert-ready{font-size:19px;font-weight:800;color:#2e5b3a;margin:2px 0 0}
.cert-step3 .cert-prev{margin-top:12px;box-shadow:0 6px 20px rgba(0,0,0,.12)}
.cert-fname{margin:10px 2px 12px;font-size:12px;color:#7a6a45;word-break:break-all}
.cert-main{width:100%;height:54px;border:0;border-radius:16px;background:#2e5b3a;color:#fff;font-family:inherit;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.cert-main svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cert-alt{width:100%;height:46px;margin-top:8px;border:1.5px solid #d6b469;border-radius:14px;background:transparent;color:#2a2418;font-family:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
.cert-main:disabled,.cert-alt:disabled{opacity:.45;cursor:wait}
.cert-warn{margin:10px 0 0!important;padding:10px 12px;border-radius:12px;background:#fff4d6;color:#7a5200!important;font-size:12.5px!important;text-align:left}
.cert-link{margin-top:8px;border:0;background:none;color:#2e5b3a;font-family:inherit;font-size:14px;font-weight:700;text-decoration:underline;cursor:pointer;padding:6px}
@media (min-width:1024px){.cert-step3 .cert-main,.cert-step3 .cert-alt{max-width:420px;margin-left:auto;margin-right:auto}}
@media (min-width:600px){.cert-row{grid-template-columns:1fr 1fr;gap:12px}}
@media (min-width:1024px){.cert-box{width:760px;padding:26px 26px 22px}}
/* ==== css/142-emergency.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ข้อมูลฉุกเฉินในฟอร์มจอง (js/176) + กล่องข้อมูลฉุกเฉินใน Admin Center — มือถือ + คอม */
#bookingPage2 .em-box{margin-top:12px;padding:12px 12px 10px;border-radius:16px;background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.35);transition:border-color .2s,background .2s}
#bookingPage2 .em-box.ok{background:rgba(61,220,151,.05);border-color:rgba(61,220,151,.35)}
.em-h{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:800;color:#fecaca}
.em-box.ok .em-h{color:#bbf7d0}
.em-h small{font-size:11px;font-weight:600;color:#9aa59f}
.em-h .em-done{display:none;margin-left:auto;align-items:center;gap:4px;font-style:normal;font-size:11.5px;font-weight:800;color:#86efac}
.em-h .em-done i{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#3ddc97;color:#06140d;font-style:normal;font-size:10px}
.em-box.ok .em-done{display:inline-flex}
.em-box:not(.ok) .em-h small{margin-left:auto}
.em-box.ok .em-h small{display:none}
.em-l{display:block;margin:11px 0 6px 2px;font-size:12.5px;font-weight:700;color:#cbd5e1}
.em-l i{font-style:normal;font-weight:400;color:#8b9690}
.em-chips{display:flex;flex-wrap:wrap;gap:6px}
#bookingPage2 .em-c{min-width:44px;height:36px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#e5e7eb;font-family:inherit;font-size:13.5px;font-weight:800;cursor:pointer;-webkit-tap-highlight-color:transparent}
#bookingPage2 .em-c.on{background:#3ddc97;border-color:#3ddc97;color:#06140d}
#bookingPage2 .em-c.warn.on{background:#f59e0b;border-color:#f59e0b;color:#1a1000}
#bookingPage2 .em-box .bf-f.em-full{margin-top:8px}
#bookingPage2 .em-box .bf-g{margin-top:0}
.em-mem{margin:8px 2px 0;font-size:11.5px;color:#86efac}
.em-err{margin:8px 2px 0;font-size:12.5px;font-weight:700;color:#fca5a5}
#bookingPage2 .em-consent{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(239,68,68,.35);font-size:13px;line-height:1.55;color:#cbd5e1;cursor:pointer}
#bookingPage2 .em-consent.on{border-color:rgba(61,220,151,.4)}
.em-consent input{position:absolute;opacity:0;width:1px;height:1px}
.em-consent .em-tick{flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:7px;border:2px solid rgba(255,255,255,.35);color:transparent;font-weight:900;font-size:13px}
.em-consent.on .em-tick{background:#3ddc97;border-color:#3ddc97;color:#06140d}
.em-consent input:focus-visible+.em-tick{outline:2px solid #7dd3fc;outline-offset:2px}
.em-consent b{color:#fff}
@media (min-width:1024px){
  #bookingPage2 .em-box .bf-g{grid-template-columns:1fr 1fr}
}

/* ---------- Admin Center: กล่องข้อมูลฉุกเฉินของทริป ---------- */
.adm-em{margin-top:14px;padding:14px;border-radius:18px;background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.32)}
.adm-em-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.adm-em-hd b{font-size:16px;color:#fecaca}
.adm-em-hd small{display:block;font-size:12px;color:#9aa59f}
.adm-em-hd .adm-em-pill{margin-left:auto;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:#e5e7eb}
.adm-em-list{display:grid;gap:8px;margin-top:12px}
.adm-em-row{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:start;padding:10px 12px;border-radius:14px;background:rgba(9,22,17,.7);border:1px solid rgba(255,255,255,.08)}
.adm-em-row.warn{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.06)}
.adm-em-row.miss{opacity:.85}
.adm-em-seat{font-weight:900;color:#9ff0c8;font-size:14px}
.adm-em-row b{display:block;color:#fff;font-size:14.5px}
.adm-em-row small{display:block;color:#9aa59f;font-size:12px;line-height:1.5}
.adm-em-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.adm-em-tags span{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:8px;background:rgba(245,158,11,.18);color:#fcd34d}
.adm-em-tags span.ok{background:rgba(255,255,255,.08);color:#cbd5e1}
.adm-em-blood{min-width:34px;text-align:center;font-weight:900;font-size:13px;padding:3px 6px;border-radius:8px;background:rgba(239,68,68,.18);color:#fca5a5}
.adm-em-call{display:inline-block;margin-top:6px;font-size:12.5px;font-weight:800;color:#7dd3fc;text-decoration:none}
.adm-em-note{margin:10px 2px 0;font-size:11.5px;color:#9aa59f}
.adm-em-miss{color:#fca5a5;font-weight:800;font-size:12.5px}
@media (min-width:1024px){.adm-em-list{grid-template-columns:1fr 1fr}}
/* ==== css/143-faq.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* คำถามที่พบบ่อย (js/175) — โทนสว่างออโรร่า + น้องช่างแม่งเหอะ · มือถือเด้งจากล่าง · คอมกลางจอ หมวดอยู่ซ้าย */
html.fq-lock{overflow:hidden}
.fq-ov{position:fixed;inset:0;z-index:30250;display:flex;align-items:flex-end;justify-content:center;background:rgba(4,20,14,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.fq-ov.show{opacity:1}
.fq-box{--ink:#0f2e23;--mu:#5b7268;--ac:#10b981;--ac2:#0ea5e9;--gold:#f59e0b;
  position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;max-width:560px;height:94dvh;padding:18px 16px 0;overflow:hidden;outline:none;color:var(--ink);
  border-radius:28px 28px 0 0;background:linear-gradient(165deg,#e9fff5 0%,#f3fbff 46%,#fff8ea 100%);box-shadow:0 -20px 60px rgba(0,0,0,.25);
  transform:translateY(40px) scale(.98);transition:transform .45s cubic-bezier(.2,1.2,.3,1)}
.fq-ov.show .fq-box{transform:none}
/* ฟองสีลอย (ออโรร่า) */
.fq-blob{position:absolute;z-index:-1;border-radius:50%;filter:blur(40px);opacity:.55;pointer-events:none}
.fq-blob.b1{width:260px;height:260px;left:-80px;top:-60px;background:#6ee7b7;animation:fqBlob 14s ease-in-out infinite}
.fq-blob.b2{width:220px;height:220px;right:-70px;top:60px;background:#7dd3fc;animation:fqBlob 17s ease-in-out -5s infinite reverse}
.fq-blob.b3{width:240px;height:240px;left:30%;bottom:-90px;background:#fde68a;animation:fqBlob 19s ease-in-out -9s infinite}
@keyframes fqBlob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,30px) scale(1.15)}66%{transform:translate(-30px,20px) scale(.9)}}
.fq-x{position:absolute;right:14px;top:14px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.75);box-shadow:0 4px 14px rgba(15,46,35,.12);color:var(--ink);font-size:15px;cursor:pointer;transition:transform .2s}
.fq-x:hover{transform:rotate(90deg)}
/* หัว + น้อง */
.fq-hero{display:flex;align-items:flex-end;gap:8px;padding-right:40px;min-height:140px}
.fq-hcopy{flex:1;min-width:0;animation:fqUp .6s .1s both}
.fq-kick{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:.2em;color:var(--ac);background:rgba(16,185,129,.12);padding:4px 9px;border-radius:999px}
.fq-hero h2{margin:8px 0 2px;font-size:28px;line-height:1.12;font-weight:900;color:var(--ink)}
.fq-hero h2 em{display:block;font-style:normal;background:linear-gradient(100deg,#059669,#0ea5e9 50%,#10b981);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fqShine 5s linear infinite}
@keyframes fqShine{to{background-position:-200% 0}}
.fq-hero p{margin:4px 0 0;font-size:13px;color:var(--mu)}
.fq-me{position:relative;flex:none;width:118px;display:flex;flex-direction:column;align-items:center}
.fq-bubble{position:absolute;right:0;top:-4px;z-index:2;width:152px;min-height:38px;padding:7px 10px;border-radius:16px 16px 4px 16px;background:#fff;box-shadow:0 8px 22px rgba(15,46,35,.14);font-size:12.5px;font-weight:700;line-height:1.4;color:var(--ink);animation:fqPop .5s .5s cubic-bezier(.2,1.6,.4,1) both}
.fq-tip::after{content:'';display:inline-block;width:2px;height:13px;margin-left:2px;vertical-align:-2px;background:var(--ac);animation:fqCaret 1s steps(1) infinite}
@keyframes fqCaret{50%{opacity:0}}
.fq-halo{position:relative;display:grid;place-items:center;width:104px;height:104px;margin-top:46px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fff 0 55%,rgba(255,255,255,0) 72%);animation:fqFloat 3.2s ease-in-out infinite}
.fq-halo::before{content:'';position:absolute;inset:6px;border-radius:50%;border:3px solid transparent;background:conic-gradient(from 0deg,#10b981,#0ea5e9,#f59e0b,#10b981) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:fqSpin 6s linear infinite}
@keyframes fqSpin{to{transform:rotate(360deg)}}
@keyframes fqFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.fq-big{position:relative;z-index:1;filter:drop-shadow(0 8px 10px rgba(15,46,35,.2))}
.fq-wave{position:absolute;right:-2px;bottom:12px;z-index:2;font-size:24px;transform-origin:70% 80%;animation:fqWave 2.4s ease-in-out infinite}
@keyframes fqWave{0%,60%,100%{transform:rotate(0)}10%,30%{transform:rotate(18deg)}20%,40%{transform:rotate(-12deg)}}
.fq-eyes{transform-origin:32px 41px;animation:fqBlink 4.5s infinite}
@keyframes fqBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
/* ค้นหา */
.fq-s{display:flex;align-items:center;gap:10px;margin-top:12px;height:50px;padding:0 16px;border-radius:999px;background:#fff;box-shadow:0 8px 24px rgba(15,46,35,.1);border:2px solid transparent;transition:border-color .2s,box-shadow .2s;animation:fqUp .6s .2s both}
.fq-s:focus-within{border-color:var(--ac);box-shadow:0 0 0 5px rgba(16,185,129,.15),0 8px 24px rgba(15,46,35,.1)}
.fq-s svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--ac);stroke-width:2.2;stroke-linecap:round}
.fq-s input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;color:var(--ink);font:inherit;font-size:15px}
.fq-s input::placeholder{color:#94a3a0}
.fq-body{flex:1;min-height:0;display:flex;flex-direction:column}
.fq-chips{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 6px;scrollbar-width:none;flex:none;animation:fqUp .6s .3s both}
.fq-chips::-webkit-scrollbar{display:none}
.fq-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:0;background:rgba(255,255,255,.8);box-shadow:0 2px 8px rgba(15,46,35,.08);color:var(--ink);font:inherit;font-size:13.5px;font-weight:800;cursor:pointer;transition:transform .2s,background .25s,color .25s,box-shadow .25s}
.fq-chip:active{transform:scale(.94)}
.fq-chip.on{background:linear-gradient(120deg,#10b981,#0ea5e9);color:#fff;box-shadow:0 8px 18px rgba(14,165,233,.35);transform:translateY(-1px)}
.fq-main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 2px calc(18px + env(safe-area-inset-bottom));scroll-behavior:smooth}
.fq-cat{margin:14px 4px 8px;font-size:12.5px;font-weight:900;letter-spacing:.02em;color:var(--mu)}
.fq-list.in .fq-cat,.fq-list.in .fq-q{animation:fqUp .5s var(--d,0ms) cubic-bezier(.2,.9,.3,1) both}
@keyframes fqUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fqPop{from{opacity:0;transform:scale(.6) translateY(8px)}to{opacity:1;transform:none}}
/* การ์ดคำถาม */
.fq-q{margin-bottom:10px;border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 4px 16px rgba(15,46,35,.07);border:1px solid rgba(15,46,35,.05);transition:box-shadow .25s,transform .25s}
.fq-q:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,46,35,.11)}
.fq-q.open{box-shadow:0 12px 30px rgba(16,185,129,.18);border-color:rgba(16,185,129,.35)}
.fq-t{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;background:none;color:var(--ink);font:inherit;font-size:15px;font-weight:800;text-align:left;cursor:pointer}
.fq-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-size:19px;background:#ecfdf5;transition:transform .35s cubic-bezier(.2,1.6,.4,1)}
.c-pay .fq-ic{background:#eff6ff}.c-cancel .fq-ic{background:#fff7ed}.c-trip .fq-ic{background:#f0f9ff}.c-other .fq-ic{background:#faf5ff}
.fq-q.open .fq-ic{transform:rotate(-10deg) scale(1.12)}
.fq-tt{flex:1;min-width:0}
.fq-chev{flex:none;width:30px;height:30px;border-radius:50%;background:#f1f5f4;position:relative;transition:background .25s,transform .35s cubic-bezier(.2,1.3,.4,1)}
.fq-chev::before{content:'';position:absolute;left:10px;top:9px;width:8px;height:8px;border-right:2.5px solid var(--ac);border-bottom:2.5px solid var(--ac);transform:rotate(45deg)}
.fq-q.open .fq-chev{transform:rotate(180deg);background:var(--ac)}
.fq-q.open .fq-chev::before{border-color:#fff}
/* คำตอบ: ยืดลงนุ่มๆ เป็นบับเบิลแชทจากน้อง */
.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.9,.3,1)}
.fq-q.open .fq-a{grid-template-rows:1fr}
.fq-ai{min-height:0;overflow:hidden}
.fq-bub{display:flex;gap:8px;align-items:flex-start;padding:0 14px 14px;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .35s}
.fq-q.open .fq-bub{opacity:1;transform:none;transition-delay:.12s}
.fq-mini{flex:none;margin-top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,46,35,.15)}
.fq-say{flex:1;min-width:0;padding:10px 13px;border-radius:4px 16px 16px 16px;background:linear-gradient(160deg,#ecfdf5,#f0f9ff);font-size:14px;line-height:1.65;color:#1e3a30}
.fq-say small{display:block;margin-bottom:2px;font-size:11px;font-weight:800;color:var(--ac)}
.fq-say b{color:#064e3b}
.fq-say ol,.fq-say ul{margin:0;padding-left:20px}
.fq-go{display:inline-flex;align-items:center;gap:4px;margin-top:9px;padding:8px 13px;border-radius:12px;border:0;background:linear-gradient(120deg,#10b981,#0ea5e9);color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 6px 14px rgba(16,185,129,.3);transition:transform .2s}
.fq-go:active{transform:scale(.95)}
/* ไม่เจอ */
.fq-none{display:flex;flex-direction:column;align-items:center;text-align:center;margin:26px 10px;animation:fqUp .5s both}
.fq-huh{animation:fqTilt 2.2s ease-in-out infinite}
@keyframes fqTilt{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.fq-none b{margin-top:8px;font-size:17px}
.fq-none p{margin:4px 0 0;font-size:13.5px;color:var(--mu)}
/* ถามน้อง */
.fq-ask{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;width:100%;margin-top:16px;padding:14px 16px;border:0;border-radius:22px;background:linear-gradient(120deg,#059669,#0ea5e9);color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(14,165,233,.3)}
.fq-ask::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-100%);animation:fqSweep 3.5s ease-in-out infinite}
@keyframes fqSweep{60%,100%{transform:translateX(100%)}}
.fq-ask-av{position:relative;flex:none;width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;animation:fqFloat 3s ease-in-out infinite}
.fq-dot{position:absolute;right:2px;bottom:3px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #fff}
.fq-dot::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid #22c55e;animation:fqPing 1.8s ease-out infinite}
@keyframes fqPing{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.fq-ask b{display:block;font-size:15.5px}.fq-ask small{display:block;font-size:12.5px;opacity:.9}
.fq-ask em{margin-left:auto;font-style:normal;font-size:22px;font-weight:900;animation:fqNudge 1.6s ease-in-out infinite}
@keyframes fqNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media (min-width:1024px){
  .fq-ov{align-items:center}
  .fq-box{max-width:1040px;height:86vh;padding:28px 32px 0;border-radius:30px}
  .fq-hero{min-height:132px;padding-right:56px}
  .fq-hero h2{font-size:38px}.fq-hero h2 em{display:inline}
  .fq-me{width:150px}.fq-bubble{right:auto;left:-190px;top:30px;width:200px;font-size:13.5px;border-radius:16px 16px 4px 16px}.fq-halo{margin-top:20px}
  .fq-s{max-width:560px}
  .fq-body{flex-direction:row;gap:26px;margin-top:6px}
  .fq-chips{flex-direction:column;width:210px;overflow:visible;padding-top:16px}
  .fq-chip{border-radius:14px;padding:12px 16px;font-size:14.5px}
  .fq-chip.on{transform:translateX(4px)}
  .fq-main{padding-top:4px}
  .fq-list{display:block;columns:1}
}
@media (prefers-reduced-motion:reduce){.fq-box *,.fq-box,.fq-ov{animation:none!important;transition:none!important}.fq-bub{opacity:1;transform:none}}

/* ===== โทนป่ากลางคืนแบบกระจก (ค่าเริ่มต้น · ลบคลาส fq-dark ใน js/175 = กลับเป็นโทนสว่าง) ===== */
.fq-box.fq-dark{--ink:#eef6f1;--mu:#9fb3aa;--ac:#3ddc97;--ac2:#38bdf8;color:var(--ink);
  background:radial-gradient(120% 70% at 50% 0%,#0f2a20 0%,#08130f 55%,#050a08 100%);border:1px solid rgba(255,255,255,.09);box-shadow:0 -20px 60px rgba(0,0,0,.5)}
.fq-dark .fq-blob{opacity:.32;filter:blur(50px)}
.fq-dark .fq-blob.b1{background:#10b981}.fq-dark .fq-blob.b2{background:#0ea5e9}.fq-dark .fq-blob.b3{background:#22c55e;opacity:.18}
.fq-dark .fq-x{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;box-shadow:none}
.fq-dark .fq-kick{background:rgba(61,220,151,.14);color:#6ee7b7}
.fq-dark .fq-hero h2{color:#fff}
.fq-dark .fq-hero h2 em{background-image:linear-gradient(100deg,#6ee7b7,#7dd3fc 50%,#3ddc97)}
.fq-dark .fq-bubble{background:rgba(255,255,255,.95);color:#0f2e23}
.fq-dark .fq-halo{background:radial-gradient(circle at 50% 40%,rgba(61,220,151,.35) 0 45%,rgba(61,220,151,0) 70%)}
.fq-dark .fq-big{filter:drop-shadow(0 8px 14px rgba(0,0,0,.5))}
.fq-dark .fq-s{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:none}
.fq-dark .fq-s:focus-within{border-color:#3ddc97;box-shadow:0 0 0 4px rgba(61,220,151,.18)}
.fq-dark .fq-s input{color:#fff}.fq-dark .fq-s input::placeholder{color:#7d8f87}
.fq-dark .fq-chip{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);box-shadow:none;color:#dfe9e4}
.fq-dark .fq-chip.on{background:linear-gradient(120deg,#10b981,#0ea5e9);border-color:transparent;color:#fff;box-shadow:0 8px 20px rgba(16,185,129,.3)}
.fq-dark .fq-cat{color:#f5c84c}
.fq-dark .fq-q{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);box-shadow:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.fq-dark .fq-q:hover{box-shadow:0 10px 24px rgba(0,0,0,.35);border-color:rgba(255,255,255,.16)}
.fq-dark .fq-q.open{background:rgba(61,220,151,.07);border-color:rgba(61,220,151,.5);box-shadow:0 0 0 1px rgba(61,220,151,.2),0 14px 34px rgba(16,185,129,.18)}
.fq-dark .fq-t{color:#fff}
.fq-dark .fq-ic{background:rgba(61,220,151,.14)}
.fq-dark .c-pay .fq-ic{background:rgba(56,189,248,.14)}.fq-dark .c-cancel .fq-ic{background:rgba(245,158,11,.15)}.fq-dark .c-trip .fq-ic{background:rgba(125,211,252,.12)}.fq-dark .c-other .fq-ic{background:rgba(192,132,252,.14)}
.fq-dark .fq-chev{background:rgba(255,255,255,.08)}
.fq-dark .fq-chev::before{border-color:#6ee7b7}
.fq-dark .fq-mini{background:#fff}
.fq-dark .fq-say{background:linear-gradient(160deg,rgba(16,185,129,.16),rgba(14,165,233,.1));border:1px solid rgba(61,220,151,.22);color:#dbe9e2}
.fq-dark .fq-say small{color:#6ee7b7}
.fq-dark .fq-say b{color:#fff}
.fq-dark .fq-none p{color:#9fb3aa}
.fq-dark .fq-ask{box-shadow:0 12px 30px rgba(16,185,129,.25)}
/* ===== พื้นหลังป่าทึบเหมือนหน้าแชท AI (.cb-bg) — รูปป่าหรี่สี + ไล่เฉดดำลงล่าง ===== */
.fq-box.fq-dark{background:#000}
.fq-box.fq-dark::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center 20%/cover no-repeat;filter:saturate(.35) brightness(.55)}
.fq-box.fq-dark::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.75) 32%,#000 70%)}
.fq-dark .fq-blob{display:none}
@media (min-width:1024px){
  .fq-box.fq-dark::before{background-image:url('/ximg.php?f=1448375240586-882707db888b-1200.jpg')}
}
/* ==== css/120-halloween.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* ธีมฮาโลวีน — ทำงานเฉพาะเมื่อ <html class="tnh-halloween"> (เปิดเองทุกปี 18 ต.ค.–3 พ.ย.) */
html.tnh-halloween{
  --hw-orange:#ff6a00;--hw-amber:#ffb020;--hw-purple:#6d28d9;--hw-violet:#b794ff;--hw-slime:#9be22d;--hw-night:#0b0612;
  --hw-pumpkin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 14c0-5 3-9 8-10' stroke='%234d7c0f' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3Cellipse cx='19' cy='39' rx='15' ry='20' fill='%23c2410c'/%3E%3Cellipse cx='45' cy='39' rx='15' ry='20' fill='%23c2410c'/%3E%3Cellipse cx='32' cy='39' rx='15' ry='22' fill='%23f97316'/%3E%3Cpath d='M17 31l9 5-10 3zM47 31l-9 5 10 3zM29 40l3-5 3 5z' fill='%23ffe066'/%3E%3Cpath d='M15 47c6 8 28 8 34 0-3 1-5 4-8 1-2 4-5 4-7 0-2 4-5 4-7 0-2 3-6 1-12-1z' fill='%23ffe066'/%3E%3C/svg%3E");
  --hw-web:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23efe8ff' stroke-width='.9'%3E%3Cpath d='M0 0L100 14M0 0L84 52M0 0L52 86M0 0L14 100'/%3E%3Cpath d='M20 3Q17 12 13 20Q8 15 3 18M42 6Q34 26 26 42Q15 34 6 38M64 9Q51 40 39 63Q22 55 10 59M86 12Q68 54 52 84Q29 77 13 82M100 14Q84 66 66 100'/%3E%3C/svg%3E");
}

/* ---------- ท้องฟ้าคืนฮาโลวีน: ม่วงเข้ม + ขอบฟ้าส้ม + ดาว ---------- */
html.tnh-halloween body,
html.tnh-halloween #appShell{
  background:
    radial-gradient(1px 1px at 12% 8%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 72% 14%,#fff9 50%,transparent 51%),
    radial-gradient(1.5px 1.5px at 40% 4%,#ffe8 50%,transparent 51%),radial-gradient(1px 1px at 88% 30%,#fff7 50%,transparent 51%),
    radial-gradient(ellipse 90% 40% at 50% 100%,rgba(255,106,0,.28),transparent 70%),
    radial-gradient(circle at 85% 5%,rgba(255,150,40,.22),transparent 30%),
    linear-gradient(180deg,rgba(20,6,34,.84),rgba(11,6,18,.9) 60%,rgba(40,12,4,.92)),
    var(--tnh-forest-photo) center top/cover no-repeat fixed!important;
  background-color:var(--hw-night)!important;
}
@media (max-width:767px){html.tnh-halloween body,html.tnh-halloween #appShell{background-attachment:scroll!important}}
html.tnh-halloween #appShell>.hdr{background:transparent!important}

/* ---------- หัวเว็บ ---------- */
html.tnh-halloween .home-banner{position:relative}
html.tnh-halloween .home-banner>img,html.tnh-halloween .home-banner .hb-extra img{filter:sepia(.35) saturate(1.1) hue-rotate(-25deg) brightness(.72) contrast(1.1)}
.hw-fx{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;
  /* เฟดจางลงสู่พื้นหลังแบบเดียวกับรูปหัวเว็บเดิม — ไม่ให้เห็นขอบตัด */
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,rgba(0,0,0,.85) 74%,rgba(0,0,0,.45) 88%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 62%,rgba(0,0,0,.85) 74%,rgba(0,0,0,.45) 88%,transparent 100%)}
.hw-fx::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(60,10,90,.35),rgba(120,40,0,.22) 70%,transparent)}
.hw-moon{position:absolute;top:-34px;right:-30px;width:110px;height:110px;border-radius:50%;
  background:radial-gradient(circle at 36% 34%,#fff2c4,#ffc044 40%,#ff7a00 78%,#c2410c);
  box-shadow:0 0 40px 14px rgba(255,140,30,.55),0 0 110px 40px rgba(255,106,0,.25)}
.hw-moon::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 70% 64%,rgba(150,60,0,.35) 0 10%,transparent 11%),radial-gradient(circle at 40% 70%,rgba(150,60,0,.25) 0 6%,transparent 7%)}
.hw-witch{position:absolute;top:56px;left:-60px;width:70px;animation:hwWitch 9s ease-in-out infinite}
.hw-witch svg{display:block;width:100%}
@keyframes hwWitch{0%{transform:translate(-40px,20px) rotate(-6deg);opacity:0}15%{opacity:1}55%{transform:translate(70px,-6px) rotate(4deg);opacity:1}70%,100%{transform:translate(160px,-20px) rotate(6deg);opacity:0}}
.hw-web{position:absolute;top:0;width:120px;height:120px;opacity:.7;background:var(--hw-web) 0 0/100% 100% no-repeat}
.hw-web.l{left:0}.hw-web.r{right:0;transform:scaleX(-1);width:90px;height:90px;opacity:.5}
.hw-fog{position:absolute;left:0;right:0;bottom:16%;height:90px;
  background:radial-gradient(ellipse at 25% 60%,rgba(183,148,255,.4),transparent 60%),radial-gradient(ellipse at 75% 70%,rgba(109,40,217,.38),transparent 60%);
  filter:blur(10px);animation:hwFog 7s ease-in-out infinite alternate}
@keyframes hwFog{to{opacity:.45}}
.hw-grave{position:absolute;left:0;right:0;bottom:12%;height:58px;opacity:.9;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 44Q60 30 120 40T240 36T400 42V60H0z' fill='%230b0612'/%3E%3Cpath d='M30 44v-16a8 8 0 0 1 16 0v16zM70 42v-12h4v-6h4v6h4v12zM300 40v-14a7 7 0 0 1 14 0v14zM340 42v-10h3v-5h4v5h3v10zM362 41v-12a6 6 0 0 1 12 0v12z' fill='%230b0612'/%3E%3Cpath d='M205 40c-2-12 2-22 0-34M205 20l-12-9M205 14l10-9M205 26l14-6' stroke='%230b0612' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Cellipse cx='130' cy='43' rx='10' ry='8' fill='%23f97316'/%3E%3Cpath d='M126 41l3 1-3 1zM134 41l-3 1 3 1zM125 45q5 3 10 0' stroke='%23ffe066' stroke-width='1.4' fill='%23ffe066'/%3E%3Cellipse cx='262' cy='44' rx='7' ry='6' fill='%23f97316'/%3E%3Cpath d='M259 43l2 1-2 1zM265 43l-2 1 2 1z' fill='%23ffe066'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}

/* ---------- ชั้นลอย: ค้างคาว ผี แมงมุม ---------- */
#hwSky{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden}
.hw-bat{position:absolute;left:-70px;width:40px;animation:hwFly 16s linear infinite}
.hw-bat svg{display:block;width:100%;fill:#100818;filter:drop-shadow(0 0 5px rgba(255,120,20,.8));animation:hwFlap .3s ease-in-out infinite alternate;transform-origin:50% 40%}
.hw-bat.b0{top:9%}.hw-bat.b1{top:18%;width:28px;animation-delay:-4s;animation-duration:20s}.hw-bat.b2{top:44%;width:34px;animation-delay:-9s}
.hw-bat.b3{top:66%;width:24px;animation-delay:-2s;animation-duration:24s}.hw-bat.b4{top:30%;width:20px;animation-delay:-13s;animation-duration:28s}
.hw-bat.b5{top:56%;width:46px;animation-delay:-7s;animation-duration:19s}.hw-bat.b6{top:80%;width:22px;animation-delay:-16s;animation-duration:26s}
@keyframes hwFly{0%{transform:translate(0,0)}25%{transform:translate(30vw,-34px)}50%{transform:translate(60vw,22px)}75%{transform:translate(90vw,-18px)}100%{transform:translate(calc(100vw + 140px),8px)}}
@keyframes hwFlap{to{transform:scaleY(.4)}}
.hw-ghost{position:absolute;width:44px;opacity:0;filter:drop-shadow(0 0 12px rgba(220,200,255,.8));animation:hwBoo 11s ease-in-out infinite}
.hw-ghost svg{display:block;width:100%}
.hw-ghost.g0{left:6%;top:58%}.hw-ghost.g1{right:8%;top:36%;width:34px;animation-delay:-5.5s}
@keyframes hwBoo{0%,100%{opacity:0;transform:translateY(20px) scale(.9)}20%,60%{opacity:.6;transform:translateY(-10px) scale(1)}40%{transform:translateY(4px) rotate(-6deg)}80%{opacity:0;transform:translateY(-40px)}}
.hw-spider{position:absolute;top:0;width:26px;animation:hwDrop 6s ease-in-out infinite}
.hw-spider b{position:absolute;left:50%;bottom:100%;width:1px;height:400px;background:linear-gradient(rgba(240,230,255,.0),rgba(240,230,255,.6))}
.hw-spider svg{display:block;width:100%}
.hw-spider.s0{right:22%;animation-delay:-1s}.hw-spider.s1{left:34%;width:18px;animation-delay:-3.5s;animation-duration:8s}
@keyframes hwDrop{0%,100%{transform:translateY(-40px)}50%{transform:translateY(120px)}}

/* ---------- แบนเนอร์เทศกาล ---------- */
.hw-strip{position:relative;display:flex;align-items:center;gap:12px;margin:22px 0 6px;padding:20px 14px 14px;border-radius:22px;overflow:hidden;
  background:radial-gradient(circle at 15% 50%,rgba(255,120,0,.45),transparent 45%),linear-gradient(120deg,#2a0b3d,#170622 55%,#3a1200);
  border:1.5px solid rgba(255,140,30,.55);box-shadow:0 0 24px rgba(255,106,0,.35),0 14px 30px rgba(0,0,0,.45)}
.hw-drip{position:absolute;top:0;left:0;right:0;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M0 0H200V4Q194 4 192 10Q190 15 188 10Q186 5 176 5Q168 5 166 13Q164 16 162 12Q160 5 146 5Q132 5 130 9Q128 12 126 8Q124 4 104 4Q90 4 88 12Q86 16 84 11Q82 5 62 5Q50 5 48 10Q46 13 44 9Q42 4 26 4Q16 4 14 12Q12 15 10 10Q8 4 0 4Z' fill='%23ff6a00'/%3E%3C/svg%3E") top/100% 100% no-repeat;filter:drop-shadow(0 2px 4px rgba(255,106,0,.6))}
.hw-pk{flex:none;width:52px;height:52px;background:var(--hw-pumpkin) center/contain no-repeat;filter:drop-shadow(0 0 12px rgba(255,140,40,.9));animation:hwGlow 1.8s ease-in-out infinite}
@keyframes hwGlow{50%{filter:drop-shadow(0 0 4px rgba(255,140,40,.4))}}
.hw-strip-x{flex:1;min-width:0;line-height:1.3}
.hw-strip-x em{display:block;font-family:'Creepster',cursive;font-style:normal;font-size:27px;letter-spacing:1.5px;line-height:1;color:var(--hw-orange);text-shadow:0 0 12px rgba(255,106,0,.8),2px 2px 0 #120618}
.hw-strip-x b{display:block;margin-top:4px;font-size:15px;font-weight:900;color:#ffe9c7}
.hw-strip-x small{display:block;margin-top:2px;font-size:11.5px;color:#d9c7f5}
.hw-ghost-mini{position:absolute;right:10px;bottom:-6px;width:40px;opacity:.85;animation:hwFloat 3s ease-in-out infinite}
.hw-ghost-mini svg{display:block;width:100%}
@keyframes hwFloat{50%{transform:translateY(-8px)}}

/* ---------- หัวข้อส่วน ---------- */
html.tnh-halloween #homeContent .sec-hdr h3{color:#ffd9a8;text-shadow:0 0 10px rgba(255,106,0,.45)}
html.tnh-halloween #homeContent .sec-hdr h3::before{content:"";display:inline-block;width:24px;height:24px;margin-right:8px;vertical-align:-5px;background:var(--hw-pumpkin) center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(255,120,0,.8))}
html.tnh-halloween #homeContent .sec-hdr.hub-mq-hdr h3::before{display:none}
html.tnh-halloween .divider{background:linear-gradient(90deg,transparent,rgba(255,106,0,.5),transparent)!important;height:1px}

/* ---------- การ์ดทริป ---------- */
html.tnh-halloween .trip-hcard2{box-shadow:0 0 0 1.5px rgba(255,120,20,.7),0 0 24px rgba(255,100,0,.35),0 14px 30px rgba(0,0,0,.5)!important}
html.tnh-halloween .trip-hcard2 .thc-photo::after{content:"";position:absolute;left:0;bottom:0;width:70px;height:70px;z-index:2;pointer-events:none;opacity:.55;background:var(--hw-web) 0 0/100% 100% no-repeat;transform:scaleY(-1)}
html.tnh-halloween .trip-hcard2 img{filter:sepia(.25) hue-rotate(-15deg) saturate(1.1)}
html.tnh-halloween .thc-status-pill{background:rgba(60,14,90,.8)!important;border-color:rgba(183,148,255,.5)!important}
html.tnh-halloween .thc-status-pill.open::before{background:var(--hw-slime);box-shadow:0 0 8px var(--hw-slime)}
html.tnh-halloween .thc-price strong{color:var(--hw-amber)!important;text-shadow:0 0 10px rgba(255,140,0,.5)}
html.tnh-halloween .thc-seats-pill.ok{background:rgba(120,40,0,.75)!important;border-color:rgba(255,140,40,.7)!important;color:#ffe1bd!important}
html.tnh-halloween .thc-share{background:rgba(255,106,0,.55)}

/* ---------- ปุ่มต่างๆ ---------- */
html.tnh-halloween .qa-mini{border-color:rgba(255,120,20,.45)!important;background:linear-gradient(180deg,rgba(50,14,60,.75),rgba(20,6,26,.85))!important}
html.tnh-halloween .qa-mini-ico{background:radial-gradient(circle at 40% 30%,#ffb04a,#f97316 60%,#9a3412)!important;box-shadow:0 0 14px rgba(255,106,0,.55)!important}
html.tnh-halloween .qa-mini-ico svg{stroke:#2a0b00!important}
html.tnh-halloween .hq{border-color:rgba(255,120,20,.35);background:linear-gradient(180deg,rgba(40,12,52,.66),rgba(16,6,22,.9)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat,#10061a;box-shadow:0 0 20px rgba(109,40,217,.25)}
html.tnh-halloween .hq-big{background:linear-gradient(170deg,rgba(234,88,12,.25),rgba(40,10,50,.55) 55%,rgba(16,6,22,.9)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') 30% center/cover no-repeat,#10061a;border-color:rgba(255,170,90,.45)}
html.tnh-halloween .hq-big .hq-c{background:radial-gradient(circle at 40% 30%,#d4ff7a,#65a30d 55%,#1a2e05)}
html.tnh-halloween .hq-ring{background:conic-gradient(#fb923c calc(var(--p,0)*1%),rgba(255,255,255,.2) 0);filter:drop-shadow(0 0 6px rgba(249,115,22,.5))}
html.tnh-halloween .hq-big .hq-s{color:#fed7aa}
html.tnh-halloween .hq-c1{background:radial-gradient(circle at 40% 30%,#ffb04a,#f97316 55%,#9a3412)}
html.tnh-halloween .hq-c2{background:radial-gradient(circle at 40% 30%,#c4a1ff,#7c3aed 55%,#3b0764)}
html.tnh-halloween .hq-c3{background:radial-gradient(circle at 40% 30%,#d4ff7a,#65a30d 55%,#1a2e05)}
html.tnh-halloween .hq-c4{background:radial-gradient(circle at 40% 30%,#f5f0ff,#a5a1c2 50%,#3f3a5c)}
html.tnh-halloween .hq-c4 svg{stroke:#1a0b2e}
html.tnh-halloween .hq-c::before{content:"";position:absolute;top:-6px;left:50%;width:6px;height:9px;margin-left:-3px;border-radius:3px 3px 1px 1px;background:#4d7c0f;transform:rotate(12deg)}
html.tnh-halloween .hq-c1::before{display:block}html.tnh-halloween .hq-c2::before,html.tnh-halloween .hq-c3::before,html.tnh-halloween .hq-c4::before{display:none}
html.tnh-halloween .hq-l,html.tnh-halloween .qa-mini-label{color:#ffe1bd!important}
html.tnh-halloween .hq-c::before{display:none!important}

/* ---------- แถบเมนูล่าง: ปุ่มเช็กอินเป็นฟักทอง ---------- */
html.tnh-halloween .bnav{background:linear-gradient(180deg,rgba(34,10,46,.96),rgba(12,5,20,.98))!important;border-color:rgba(255,120,20,.35)!important;box-shadow:0 -6px 24px rgba(255,106,0,.15)!important}
html.tnh-halloween .checkin-fab{background:radial-gradient(circle at 40% 30%,#ffc078,#f97316 55%,#9a3412)!important;box-shadow:0 0 0 4px rgba(11,6,18,.95),0 0 26px rgba(255,106,0,.8)!important}
html.tnh-halloween .checkin-fab::after{content:"";position:absolute;top:-7px;left:50%;width:8px;height:11px;margin-left:-4px;border-radius:4px 4px 1px 1px;background:#4d7c0f;transform:rotate(14deg)}
html.tnh-halloween .bnav-item.active{color:var(--hw-amber)!important}

@media (prefers-reduced-motion:reduce){.hw-bat,.hw-bat svg,.hw-fog,.hw-pk,.hw-ghost,.hw-spider,.hw-witch,.hw-ghost-mini{animation:none}#hwSky{display:none}}

/* ================================================================
   ทั้งเว็บ: หน้าโหลด / ล็อกอิน / หน้าเต็มจอ / ป๊อปอัพ (ต.ค. 69)
   ================================================================ */
html.tnh-halloween{
  --hw-tint:linear-gradient(180deg,rgba(36,8,56,.74),rgba(14,5,22,.84) 55%,rgba(52,14,0,.88));
  --hw-glow:radial-gradient(circle at 88% 6%,rgba(255,150,40,.3),transparent 32%),radial-gradient(ellipse 90% 35% at 50% 100%,rgba(255,106,0,.28),transparent 70%);
}
/* หน้าเต็มจอทั้งหมดใช้ฉากป่าคืนฮาโลวีนเดียวกัน */
html.tnh-halloween :is(#bookingPage2,#successPage2,#equipPage,#equipReceiptPage,#reviewPage,#tripCalendarModal,#vanLocationModal,#monthTripsModal){
  background:var(--hw-glow),var(--hw-tint),var(--tnh-forest-photo) center top/cover no-repeat fixed!important;background-color:var(--hw-night)!important}
@media (max-width:767px){html.tnh-halloween :is(#bookingPage2,#successPage2,#equipPage,#equipReceiptPage,#reviewPage,#tripCalendarModal,#vanLocationModal,#monthTripsModal){background-attachment:scroll!important}}

/* หน้าโหลด: รูปเดิม + โทนม่วงส้ม + วงแหวนสีฟักทอง */
html.tnh-halloween #loadingScreen{
  background:var(--hw-glow),linear-gradient(180deg,rgba(40,8,60,.72),rgba(14,5,22,.7) 55%,rgba(60,16,0,.78)),url('../assets/optimized/IMG_4023-900.webp') center/cover no-repeat!important}
html.tnh-halloween #loadingScreen::before{content:"";position:absolute;top:-40px;right:-40px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle at 36% 34%,#fff2c4,#ffc044 40%,#ff7a00 78%,#c2410c);box-shadow:0 0 60px 20px rgba(255,140,30,.5)}
html.tnh-halloween #loadingScreen::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 44Q60 30 120 40T240 36T400 42V60H0z' fill='%230b0612'/%3E%3Cpath d='M30 44v-16a8 8 0 0 1 16 0v16zM70 42v-12h4v-6h4v6h4v12zM300 40v-14a7 7 0 0 1 14 0v14zM340 42v-10h3v-5h4v5h3v10z' fill='%230b0612'/%3E%3Cellipse cx='130' cy='43' rx='10' ry='8' fill='%23f97316'/%3E%3Cellipse cx='262' cy='44' rx='7' ry='6' fill='%23f97316'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
html.tnh-halloween .loading-ring-outer{border-color:rgba(255,122,24,.9) transparent rgba(255,122,24,.25) transparent!important;box-shadow:0 0 22px rgba(255,106,0,.55)!important}
html.tnh-halloween .loading-ring-inner{border-color:transparent rgba(183,148,255,.9) transparent rgba(183,148,255,.3)!important}
html.tnh-halloween .loading-orbit-dot::after{background:#ff7a18!important;box-shadow:0 0 10px #ff7a18!important}
html.tnh-halloween .loading-text{color:#ffd9a8!important}
html.tnh-halloween #loadingScreen .loading-text::after{content:" 🎃"}

/* หน้าล็อกอิน */
html.tnh-halloween #loginPage{background:var(--hw-glow),var(--hw-tint),var(--tnh-forest-photo) center/cover no-repeat!important}
html.tnh-halloween #loginPage::before{content:"";position:absolute;top:-30px;right:-30px;width:150px;height:150px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 36% 34%,#fff2c4,#ffc044 40%,#ff7a00 78%,#c2410c);box-shadow:0 0 60px 20px rgba(255,140,30,.45)}
html.tnh-halloween #loginPage::after{content:"";position:absolute;top:0;left:0;width:150px;height:150px;pointer-events:none;opacity:.6;background:var(--hw-web) 0 0/100% 100% no-repeat}
html.tnh-halloween .login-card{border-color:rgba(255,140,30,.45)!important;box-shadow:0 0 30px rgba(255,106,0,.25),0 20px 50px rgba(0,0,0,.5)!important;
  background:linear-gradient(180deg,rgba(40,12,52,.82),rgba(16,6,22,.9))!important}
html.tnh-halloween .login-logo h1{color:#ffd9a8!important;text-shadow:0 0 14px rgba(255,106,0,.6)}
html.tnh-halloween .login-logo img{box-shadow:0 0 0 3px rgba(255,122,24,.8),0 0 30px rgba(255,106,0,.6)!important;border-radius:50%}

/* หัวหน้า + แถบปุ่มล่างของหน้าเต็มจอ */
html.tnh-halloween :is(#bookingPage2,#equipPage,#reviewPage,#equipReceiptPage)>.bk-hdr{background:rgba(30,8,40,.6)!important;border-bottom-color:rgba(255,120,20,.3)!important}
html.tnh-halloween :is(#bookingPage2,#equipPage,#reviewPage) .sticky-bar{background:rgba(24,6,32,.66)!important;border-top-color:rgba(255,120,20,.3)!important}
html.tnh-halloween .nb-back{border-color:rgba(255,140,30,.5);background:rgba(255,106,0,.14)}
html.tnh-halloween .btn-confirm.ready{background:linear-gradient(145deg,#ffa040,#ea580c)!important;color:#2a0b00!important;box-shadow:0 8px 22px rgba(255,106,0,.45)!important}
html.tnh-halloween .nb-t b::after{content:"";display:inline-block;width:18px;height:18px;margin-left:7px;vertical-align:-3px;background:var(--hw-pumpkin) center/contain no-repeat}

/* การ์ดในหน้าเต็มจอ: ขอบส้มบางๆ */
html.tnh-halloween :is(#equipPage,#reviewPage,#bookingPage2) :is(.eq-item-card,.eq-trip-pick,.eq-summary-card,.rvx-sum,.rvw-box,.van-block,.seat-form-card,.rvs-viewer){
  border-color:rgba(255,130,30,.35)!important;box-shadow:0 0 18px rgba(255,106,0,.12),0 10px 24px rgba(0,0,0,.35)!important}
html.tnh-halloween .sx-ic.sx-blue{background:radial-gradient(circle at 40% 30%,#c4a1ff,#7c3aed 55%,#3b0764)}
html.tnh-halloween .sx-ic.sx-green{background:radial-gradient(circle at 40% 30%,#d4ff7a,#65a30d 55%,#1a2e05)}
html.tnh-halloween .sx-ic.sx-amber{background:radial-gradient(circle at 40% 30%,#ffb04a,#f97316 55%,#9a3412)}

/* ป๊อปอัพทุกแบบ: หน้าทริป / จ่ายเงิน / ระบบ / แผ่นเด้งล่าง */
html.tnh-halloween :is(#modalBg .modal-sheet,.hte-modal-card,.pay-box,.tnh-system-swal,.bf-sheet,.ts-sheet,.tnh-rc-sheet){
  background:var(--hw-glow),linear-gradient(180deg,rgba(36,8,56,.8),rgba(14,5,22,.92)),var(--tnh-forest-photo) center/cover no-repeat!important;
  border-color:rgba(255,130,30,.45)!important}
html.tnh-halloween :is(.hte-modal-card,.tnh-system-swal){box-shadow:0 0 30px rgba(255,106,0,.25),0 28px 80px rgba(0,0,0,.7)!important}

/* ค้างคาว/ผีลอยอยู่เหนือทุกหน้า (ไม่บังการกด) */
html.tnh-halloween #hwSky{z-index:30100}

/* ---------- ป๊อปอัพทุกตัวในเว็บ (รวมป๊อปอัพกำลังโหลด / SweetAlert ที่ตกแต่งเอง / หน้าต่างแอดมิน) ---------- */
html.tnh-halloween :is(.trip-insurance-load-swal,.pa-card,.pa-loader-card,.pd-shell,.van-role-popup,.tnh-scanner-card,.admin-gate-card,
  .admin-finance-login-popup,#adminPopup>div,.drawer,.situation-entry-card,.profile-pickup-swal,.pickup-save-swal,.pickup-manage-box,.my-equip-swal,
  .checkin-save-swal,.checkin-confirm-swal,.seat-confirm-popup,.admin-pickup-popup-swal,.admin-learning-swal,#equipPayModal .eq-pay-box,
  #vanLocationModal .van-premium-card,.my-insurance-picker-popup,.tnh-rc-modal .tnh-rc-sheet){
  background:var(--hw-glow),linear-gradient(180deg,rgba(36,8,56,.82),rgba(14,5,22,.93)),var(--tnh-forest-photo) center/cover no-repeat!important;
  border:1px solid rgba(255,130,30,.45)!important;box-shadow:0 0 30px rgba(255,106,0,.22),0 24px 70px rgba(0,0,0,.65)!important}
/* ป๊อปอัพเต็มจอ */
html.tnh-halloween :is(#tnhSituationOverlay,.learn-pop,#payModal,#remainingPayModal,#equipPayModal,#adminCenter){
  background:var(--hw-glow),var(--hw-tint),var(--tnh-forest-photo) center top/cover no-repeat!important;background-color:var(--hw-night)!important}
/* ฟักทองเล็กมุมขวาบนของป๊อปอัพ */
html.tnh-halloween :is(.hte-modal-card,.tnh-system-swal,.trip-insurance-load-swal,.pay-box,.eq-pay-box,.admin-gate-card,.checkin-confirm-swal,.seat-confirm-popup,.my-equip-swal,.profile-pickup-swal){position:relative}
html.tnh-halloween :is(.hte-modal-card,.tnh-system-swal,.trip-insurance-load-swal,.admin-gate-card,.checkin-confirm-swal,.seat-confirm-popup,.my-equip-swal,.profile-pickup-swal)::after{
  content:"";position:absolute;top:0;left:0;width:84px;height:84px;pointer-events:none;opacity:.5;z-index:1;background:var(--hw-web) 0 0/100% 100% no-repeat}
/* แถบโหลดในป๊อปอัพ → ส้ม */
html.tnh-halloween .trip-insurance-load-track i{background:linear-gradient(90deg,rgba(255,106,0,.1),#ff7a18,rgba(255,176,32,.15))!important}
html.tnh-halloween .trip-insurance-load-dot{background:#ff7a18!important;box-shadow:0 0 8px rgba(255,122,24,.98),0 0 18px rgba(255,106,0,.55)!important}
html.tnh-halloween .trip-insurance-load-orbit{border-color:rgba(255,122,24,.5)!important}
html.tnh-halloween .trip-insurance-load-shell h3{color:#ffd9a8!important}
html.tnh-halloween :is(.swal2-confirm,.tnh-system-swal .swal2-confirm){background:linear-gradient(145deg,#ffa040,#ea580c)!important;color:#2a0b00!important;border:0!important}
/* ==== css/116-points.css ==== */
/*! © 2569 เที่ยวนี่เหอะ (tiaewneehur.com) สงวนลิขสิทธิ์ · TNH-ECAEB7B82022 */
/* แต้มสะสม — js/144-points.js */
.ptm-hero{position:relative;padding:16px;border-radius:20px;overflow:hidden;border:1px solid rgba(250,204,21,.38);
  background:radial-gradient(circle at 100% 0,rgba(250,204,21,.28),transparent 50%),linear-gradient(135deg,rgba(32,26,6,.85),rgba(5,22,26,.85));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.ptm-hero .row{display:flex;align-items:center;gap:13px}
.ptm-coin{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7c2,#facc15 45%,#b7791f);color:#5a3a00;font-size:25px;font-weight:900;box-shadow:0 0 0 5px rgba(250,204,21,.13),0 8px 18px rgba(245,158,11,.3)}
.ptm-hero small{display:block;font-size:11px;letter-spacing:1.4px;color:#fcd34d;font-weight:800}
.ptm-hero b{display:block;font-size:30px;font-weight:900;color:#fff;line-height:1.1}.ptm-hero b span{font-size:14px;color:#fde68a;margin-left:5px}
.ptm-hero p{margin:2px 0 0;font-size:12.5px;color:#d6d3c4}
.ptm-meta{display:flex;gap:8px;margin-top:13px}
.ptm-meta div{flex:1;padding:9px 10px;border-radius:13px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);font-size:11px;color:#a8b5bd}
.ptm-meta div b{font-size:15px;color:#fff;display:block;font-weight:800}
.ptm-sec{margin:16px 2px 8px;font-size:12.5px;font-weight:800;color:#9fb3c0;letter-spacing:.3px}
.ptm-how{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ptm-how div{display:flex;gap:9px;align-items:flex-start;padding:11px;border-radius:15px;background:rgba(9,28,34,.62);border:1px solid rgba(91,212,255,.18)}
.ptm-how i{font-style:normal;flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(5,46,62,.7);border:1px solid rgba(91,212,255,.3);font-size:15px}
.ptm-how b{display:block;font-size:13px;color:#effbff}.ptm-how span{font-size:11px;color:#9fb3c0;line-height:1.4}
.ptm-note{margin-top:9px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.04);font-size:11px;color:#9fb3c0;line-height:1.5}
.ptm-it{display:flex;align-items:center;gap:11px;padding:9px;border-radius:15px;background:rgba(9,28,34,.55);border:1px solid rgba(255,255,255,.07);margin-bottom:8px}
.ptm-it img{flex:none;width:46px;height:46px;border-radius:11px;object-fit:cover}
.ptm-it .ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:11px;background:rgba(239,68,68,.12);border:1px solid rgba(248,113,113,.25);font-size:19px}
.ptm-it div{flex:1;min-width:0}.ptm-it b{display:block;font-size:13px;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptm-it small{font-size:11px;color:#8aa0ad}
.ptm-it em{font-style:normal;flex:none;padding:5px 9px;border-radius:999px;font-weight:900;font-size:13px;color:#4ade80;background:rgba(34,197,94,.12)}
.ptm-it em.neg{color:#fca5a5;background:rgba(239,68,68,.12)}
.ptm-cta{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 4px;height:50px;border-radius:15px;font-weight:800;font-size:15px;color:#04212b;background:linear-gradient(135deg,#5eead4,#38bdf8);box-shadow:0 8px 20px rgba(56,189,248,.25)}
.pt-slim{display:flex;align-items:center;gap:9px;margin:10px 0 2px;padding:8px 10px 8px 9px;border-radius:14px;background:linear-gradient(90deg,rgba(250,204,21,.14),rgba(250,204,21,.04));border:1px solid rgba(250,204,21,.35);color:#fde68a;font-size:12.5px}
.pt-coin{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7c2,#facc15 45%,#b7791f);color:#5a3a00;font-size:12px;font-weight:900}
.pt-slim b{color:#fff;font-size:14px;font-weight:900}.pt-slim span.s{color:#cbd5c9;font-size:11.5px}.pt-slim .go{margin-left:auto;color:#facc15;font-weight:800;font-size:12px;white-space:nowrap}
/* แถบหน้าหลักเป็นปุ่ม */
button.pt-slim{width:100%;font:inherit;text-align:left;cursor:pointer;margin:-4px 0 12px}
button.pt-slim .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.pt-slim:active{transform:scale(.985)}
.ptm-how p{margin:0}
.ptm-it .ic.ok{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.28)}
.ptm-it em.mute{color:#94a3b8;background:rgba(148,163,184,.12)}
.ptm-empty{text-align:center;padding:18px 8px;color:#cbd5e1;font-size:13px}.ptm-empty small{color:#8aa0ad}
button.ptm-cta{width:100%;border:0;font-family:inherit;cursor:pointer}
/* หน้าเลือกวิธีชำระ: ช่องติ๊กใช้แต้ม */
.pt-choice{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 13px;border-radius:16px;cursor:pointer;
  border:1.5px solid rgba(250,204,21,.35);background:rgba(250,204,21,.06);transition:.15s}
.pt-choice input{position:absolute;opacity:0;pointer-events:none}
.pt-check{flex:none;width:22px;height:22px;border-radius:7px;border:2px solid rgba(250,204,21,.6);display:grid;place-items:center}
.pt-choice.on{border-color:#facc15;background:linear-gradient(135deg,rgba(250,204,21,.18),rgba(245,158,11,.06));box-shadow:0 0 0 3px rgba(250,204,21,.12)}
.pt-choice.on .pt-check{background:#facc15;border-color:#facc15}.pt-choice.on .pt-check::after{content:'✓';color:#3a2600;font-weight:900;font-size:14px}
.pt-choice .t{display:flex;flex-direction:column;text-align:left}.pt-choice .t b{color:#fde68a;font-size:14px}.pt-choice .t small{color:#cbd5c9;font-size:11.5px}
/* หน้าสรุปยอดหลังใช้แต้ม */
.pt-calc-box{margin-top:16px;padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);text-align:left}
.pt-calc-box .ln{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:14px;color:#cbd5e1}.pt-calc-box .ln b{color:#fff}
.pt-calc-box .ln span{display:flex;align-items:center;gap:7px}
.pt-calc-box .disc b{color:#facc15}
.pt-calc-box .tot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:11px;border-top:1px dashed rgba(255,255,255,.18)}
.pt-calc-box .tot span{font-weight:800;color:#f1f5f9}.pt-calc-box .tot b{font-size:26px;font-weight:900;color:#4ade80}
.pt-calc-note{margin:10px 2px 0;font-size:12px;color:#94a3b8;text-align:left}
.pt-calc-go{width:100%;height:52px;margin-top:16px;border:0;border-radius:15px;font:inherit;font-size:16px;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 8px 20px rgba(2,132,199,.35)}
.pt-calc-skip{width:100%;height:44px;margin-top:8px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:transparent;color:#cbd5e1;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.pt-calc-note .warn{color:#fbbf24;font-weight:700}
/* ==== css/116-points-add1.css ==== */
/* TNH smooth motion — อนิเมชั่นลื่นแบบหน้า FAQ (เด้งนุ่ม · การ์ดไล่ขึ้นทีละใบ · ปิดแบบเฟด) */
@keyframes tnhUp{from{opacity:0;transform:translateY(16px)}}
@keyframes tnhRise{from{opacity:0;transform:translateY(40px) scale(.98)}}
@keyframes tnhRiseOut{to{opacity:0;transform:translateY(28px) scale(.98)}}
@keyframes tnhFade{from{opacity:0}}
@keyframes tnhFadeOut{to{opacity:0}}
@keyframes tnhPop{from{opacity:0;transform:scale(.9) translateY(10px)}}
@keyframes tnhPage{from{opacity:0;transform:translateY(22px) scale(.99)}}
@keyframes tnhCell{from{opacity:0;transform:scale(.6)}}
/* --- แชท AI: แผงเด้งขึ้นจากมุม + ปิดแบบเฟดลง --- */
#tnhChat.open .cb-panel{animation:tnhRise .5s cubic-bezier(.2,1.1,.3,1) backwards;transform-origin:100% 100%}
#tnhChat .cb-panel.cb-out{animation:tnhRiseOut .24s ease forwards;pointer-events:none}
#tnhChat.open .cb-bg{animation:tnhFade .8s ease .05s backwards}
#tnhChat.open .cb-head{animation:tnhUp .5s .12s cubic-bezier(.2,1.1,.3,1) backwards}
#tnhChat.open .cb-foot{animation:tnhUp .5s .2s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-welcome{animation:tnhUp .55s .15s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-m{animation:tnhUp .42s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-tile{transition:transform .25s cubic-bezier(.2,1.1,.3,1),border-color .2s,background .25s}
.cb-tile:hover{transform:translateY(-3px)}
.cb-tile:active{transform:scale(.96)}
.cb-quick button{transition:transform .2s,background .2s}
.cb-quick button:active{transform:scale(.94)}
.cb-fab{transition:opacity .2s,transform .3s cubic-bezier(.2,1.1,.3,1)}
.cb-fab:hover{transform:scale(1.07)}
.cb-trip{transition:transform .25s cubic-bezier(.2,1.1,.3,1),border-color .2s}
.cb-trip:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2)}

.cb-tiles>.cb-tile:nth-child(1){animation:tnhPop .5s 0.33s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-tiles>.cb-tile:nth-child(2){animation:tnhPop .5s 0.38s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-tiles>.cb-tile:nth-child(3){animation:tnhPop .5s 0.43s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-tiles>.cb-tile:nth-child(4){animation:tnhPop .5s 0.48s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-tiles>.cb-tile:nth-child(5){animation:tnhPop .5s 0.53s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-tiles>.cb-tile:nth-child(6){animation:tnhPop .5s 0.58s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-tiles>.cb-tile:nth-child(7){animation:tnhPop .5s 0.63s cubic-bezier(.2,1.1,.3,1) backwards}
.cb-tiles>.cb-tile:nth-child(8){animation:tnhPop .5s 0.68s cubic-bezier(.2,1.1,.3,1) backwards}

/* --- ปฏิทิน / ทริปรายเดือน / ตำแหน่งรถตู้: ฉากเฟด + กล่องเด้งขึ้น --- */
.trip-calendar-modal.show{animation:tnhFade .28s ease backwards}
.trip-calendar-modal.show .trip-calendar-box{animation:tnhRise .5s .04s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .calendar-bg-layer{animation:tnhFade .9s ease backwards}
.trip-calendar-modal.show.closing{animation:tnhFadeOut .22s ease forwards}
.trip-calendar-modal.show.closing .trip-calendar-box{animation:tnhRiseOut .22s ease forwards}
.trip-calendar-nav button{transition:transform .2s cubic-bezier(.2,1.1,.3,1),background .2s}
.trip-calendar-nav button:active{transform:scale(.88)}
.trip-calendar-close{transition:transform .3s cubic-bezier(.2,1.1,.3,1)}
.trip-calendar-close:hover{transform:rotate(90deg)}
.trip-calendar-modal.show #calendarMonthLabel{animation:tnhUp .4s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-weekdays span{animation:tnhUp .4s cubic-bezier(.2,1.1,.3,1) backwards}
.calendar-month-triplist-item,.calendar-day-detail>*{transition:transform .25s cubic-bezier(.2,1.1,.3,1),box-shadow .25s}
.calendar-month-triplist-item:hover{transform:translateY(-2px)}
.calendar-day-detail>*{animation:tnhUp .45s cubic-bezier(.2,1.1,.3,1) backwards}

.trip-calendar-modal.show .trip-calendar-weekdays span:nth-child(1){animation-delay:0.10s}
.trip-calendar-modal.show .trip-calendar-weekdays span:nth-child(2){animation-delay:0.13s}
.trip-calendar-modal.show .trip-calendar-weekdays span:nth-child(3){animation-delay:0.16s}
.trip-calendar-modal.show .trip-calendar-weekdays span:nth-child(4){animation-delay:0.19s}
.trip-calendar-modal.show .trip-calendar-weekdays span:nth-child(5){animation-delay:0.22s}
.trip-calendar-modal.show .trip-calendar-weekdays span:nth-child(6){animation-delay:0.25s}
.trip-calendar-modal.show .trip-calendar-weekdays span:nth-child(7){animation-delay:0.28s}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(1){animation:tnhCell .45s 0.12s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(2){animation:tnhCell .45s 0.15s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(3){animation:tnhCell .45s 0.18s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(4){animation:tnhCell .45s 0.21s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(5){animation:tnhCell .45s 0.24s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(6){animation:tnhCell .45s 0.27s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(7){animation:tnhCell .45s 0.30s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(8){animation:tnhCell .45s 0.15s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(9){animation:tnhCell .45s 0.18s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(10){animation:tnhCell .45s 0.21s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(11){animation:tnhCell .45s 0.24s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(12){animation:tnhCell .45s 0.27s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(13){animation:tnhCell .45s 0.30s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(14){animation:tnhCell .45s 0.33s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(15){animation:tnhCell .45s 0.18s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(16){animation:tnhCell .45s 0.21s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(17){animation:tnhCell .45s 0.24s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(18){animation:tnhCell .45s 0.27s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(19){animation:tnhCell .45s 0.30s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(20){animation:tnhCell .45s 0.33s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(21){animation:tnhCell .45s 0.36s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(22){animation:tnhCell .45s 0.21s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(23){animation:tnhCell .45s 0.24s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(24){animation:tnhCell .45s 0.27s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(25){animation:tnhCell .45s 0.30s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(26){animation:tnhCell .45s 0.33s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(27){animation:tnhCell .45s 0.36s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(28){animation:tnhCell .45s 0.39s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(29){animation:tnhCell .45s 0.24s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(30){animation:tnhCell .45s 0.27s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(31){animation:tnhCell .45s 0.30s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(32){animation:tnhCell .45s 0.33s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(33){animation:tnhCell .45s 0.36s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(34){animation:tnhCell .45s 0.39s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(35){animation:tnhCell .45s 0.42s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(36){animation:tnhCell .45s 0.27s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(37){animation:tnhCell .45s 0.30s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(38){animation:tnhCell .45s 0.33s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(39){animation:tnhCell .45s 0.36s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(40){animation:tnhCell .45s 0.39s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(41){animation:tnhCell .45s 0.42s cubic-bezier(.2,1.1,.3,1) backwards}
.trip-calendar-modal.show .trip-calendar-grid>*:nth-child(42){animation:tnhCell .45s 0.45s cubic-bezier(.2,1.1,.3,1) backwards}

/* --- ลิสต์การ์ด: ไล่ขึ้นทีละใบ (ใช้ backwards เพื่อไม่ทับ hover/active ของการ์ด) --- */
.calendar-month-triplist>*,#monthTripsModalList>*,#tripListFull>:not(.mtl){animation:tnhUp .5s cubic-bezier(.2,1.1,.3,1) backwards}
.mtl-card{transition:transform .3s cubic-bezier(.2,1.1,.3,1),box-shadow .3s}
@media (hover:hover){.mtl-card:hover{transform:translateY(-3px)}.mtl-card:active{transform:scale(.985)}}
.mtl-card .mtl-go{transition:transform .3s cubic-bezier(.2,1.1,.3,1)}
.mtl-card:hover .mtl-go{transform:translateX(4px)}

.calendar-month-triplist>:nth-child(1),#monthTripsModalList>:nth-child(1),#tripListFull>:not(.mtl):nth-child(1){animation-delay:0.04s}
.calendar-month-triplist>:nth-child(2),#monthTripsModalList>:nth-child(2),#tripListFull>:not(.mtl):nth-child(2){animation-delay:0.08s}
.calendar-month-triplist>:nth-child(3),#monthTripsModalList>:nth-child(3),#tripListFull>:not(.mtl):nth-child(3){animation-delay:0.12s}
.calendar-month-triplist>:nth-child(4),#monthTripsModalList>:nth-child(4),#tripListFull>:not(.mtl):nth-child(4){animation-delay:0.16s}
.calendar-month-triplist>:nth-child(5),#monthTripsModalList>:nth-child(5),#tripListFull>:not(.mtl):nth-child(5){animation-delay:0.20s}
.calendar-month-triplist>:nth-child(6),#monthTripsModalList>:nth-child(6),#tripListFull>:not(.mtl):nth-child(6){animation-delay:0.24s}
.calendar-month-triplist>:nth-child(7),#monthTripsModalList>:nth-child(7),#tripListFull>:not(.mtl):nth-child(7){animation-delay:0.28s}
.calendar-month-triplist>:nth-child(8),#monthTripsModalList>:nth-child(8),#tripListFull>:not(.mtl):nth-child(8){animation-delay:0.32s}
.calendar-month-triplist>:nth-child(9),#monthTripsModalList>:nth-child(9),#tripListFull>:not(.mtl):nth-child(9){animation-delay:0.36s}
.calendar-month-triplist>:nth-child(10),#monthTripsModalList>:nth-child(10),#tripListFull>:not(.mtl):nth-child(10){animation-delay:0.40s}

/* --- หน้าอื่นๆ: เปลี่ยนแท็บหลัก + หน้าเต็มจอ (จอง/อุปกรณ์/รีวิว ฯลฯ) + หน้าต่างป๊อปอัป --- */
.view-page.active-page{animation:tnhPage .45s cubic-bezier(.2,1.1,.3,1) backwards}
#bookingPage2.show,#successPage2.show,#equipPage.show,#equipReceiptPage.show,#reviewPage.show{animation:tnhPage .45s cubic-bezier(.2,1.1,.3,1) backwards}
.modal-bg.show{animation:tnhFade .25s ease backwards}
.modal-bg.show>*{animation:tnhPop .45s .03s cubic-bezier(.2,1.1,.3,1) backwards}
/* ผู้ใช้ปิดแอนิเมชั่นในระบบ → ปิดทั้งหมด */
@media (prefers-reduced-motion:reduce){
  .cb-panel,.cb-panel *,.cb-bg,.cb-head,.cb-foot,.cb-welcome,.cb-m,.cb-tile,.trip-calendar-modal,.trip-calendar-modal *,.calendar-month-triplist>*,#monthTripsModalList>*,#tripListFull>*,#tripListFull .mtl-mo,.view-page.active-page,#bookingPage2,#successPage2,#equipPage,#equipReceiptPage,#reviewPage,.modal-bg,.modal-bg>*{animation:none!important;transition:none!important}
}
/* ==== css/116-points-add2.css ==== */
/* หน้าทริปทั้งหมด: เลื่อนจอแล้วแต่ละเดือนค่อยๆ เฟดโผล่ทีละใบ (js: scroll reveal) */
.mtl-mo.rv{opacity:0;transform:translateY(38px) scale(.965);filter:blur(7px);will-change:opacity,transform,filter;
  transition:opacity .9s cubic-bezier(.2,.9,.3,1) var(--rd,0s),transform 1s cubic-bezier(.2,1.1,.3,1) var(--rd,0s),filter .8s ease var(--rd,0s)}
.mtl-mo.rv.in{opacity:1;transform:none;filter:none}
.mtl-mo.rv::before{transform:scale(0);transition:transform .6s cubic-bezier(.2,1.1,.3,1) calc(var(--rd,0s) + .3s)}
.mtl-mo.rv.in::before{transform:none}
.mtl-mo.rv .mtl-tx{opacity:0;transform:translateX(-18px);transition:opacity .7s ease calc(var(--rd,0s) + .25s),transform .8s cubic-bezier(.2,1.1,.3,1) calc(var(--rd,0s) + .25s)}
.mtl-mo.rv.in .mtl-tx{opacity:1;transform:none}
.mtl-mo.rv .mtl-go{opacity:0;transition:opacity .6s ease calc(var(--rd,0s) + .55s)}
.mtl-mo.rv.in .mtl-go{opacity:1}
.mtl-mo.rv .mtl-card{transform:scale(1.04);transition:transform 1.3s cubic-bezier(.2,.9,.3,1) var(--rd,0s),box-shadow .3s}
.mtl-mo.rv.in .mtl-card{transform:none}
@media (prefers-reduced-motion:reduce){.mtl-mo.rv,.mtl-mo.rv *,.mtl-mo.rv::before{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
/* ==== css/116-points-add3.css ==== */
/* ตัววางแผนรายเดือน (ปุ่ม "ปฏิทินทริป" จริง · .mp-*): เปิดแบบมีลูกเล่น */
@keyframes mpSheetIn{from{opacity:0;transform:translateY(70px) scale(.9);filter:blur(10px)}60%{filter:blur(0)}}
@keyframes mpChipIn{from{opacity:0;transform:translateX(34px) scale(.85)}}
@keyframes mpCellIn{from{opacity:0;transform:scale(.4) translateY(6px)}}
@keyframes mpBarIn{from{opacity:0;transform:scaleX(0)}}
@keyframes mpGlow{0%,100%{box-shadow:0 8px 20px rgba(52,211,153,.35)}50%{box-shadow:0 8px 30px rgba(52,211,153,.7)}}
.mp-ov{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity .3s ease,backdrop-filter .5s ease,-webkit-backdrop-filter .5s ease}
.mp-ov.show{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
.mp-ov.show .mp-sheet{animation:mpSheetIn .75s cubic-bezier(.2,1.1,.3,1) backwards}
.mp-ov.show .mp-hd{animation:tnhUp .6s .15s cubic-bezier(.2,1.1,.3,1) backwards}
.mp-ov.show .mp-x{animation:tnhPop .6s .3s cubic-bezier(.2,1.1,.3,1) backwards;transition:transform .35s cubic-bezier(.2,1.1,.3,1)}
.mp-x:hover{transform:rotate(90deg)}
.mp-x:active{transform:scale(.88)}
.mp-chip{transition:background .25s,transform .3s cubic-bezier(.2,1.1,.3,1),box-shadow .3s}
.mp-chip:hover{transform:translateY(-3px)}
.mp-chip:active{transform:scale(.92)}
.mp-chip.on{animation:mpGlow 2.6s ease-in-out infinite}
.mp-ov.show .mp-chip{animation:mpChipIn .6s cubic-bezier(.2,1.1,.3,1) backwards}
.mp-ov.show .mp-chip.on{animation:mpChipIn .6s cubic-bezier(.2,1.1,.3,1) backwards,mpGlow 2.6s ease-in-out .9s infinite}
.mp-ov.show .mp-page .mp-dow{animation:tnhUp .5s .3s cubic-bezier(.2,1.1,.3,1) backwards}
.mp-ov.show .mp-dn{animation:mpCellIn .55s cubic-bezier(.2,1.1,.3,1) backwards}
.mp-ov.show .mp-ev{transform-origin:left center;animation:mpBarIn .7s cubic-bezier(.2,1.1,.3,1) backwards}
.mp-ov.show .mp-it{animation:tnhUp .55s cubic-bezier(.2,1.1,.3,1) backwards}
.mp-it{transition:transform .3s cubic-bezier(.2,1.1,.3,1),border-color .25s,background .25s}
.mp-it:hover{transform:translateY(-3px);border-color:rgba(110,231,183,.35)}
.mp-it:active{transform:scale(.97)}
.mp-ev{transition:filter .2s,transform .2s}
.mp-ev:hover{filter:brightness(1.08) saturate(1.2)}

.mp-ov.show .mp-chip:nth-child(1){animation-delay:0.28s}
.mp-ov.show .mp-chip:nth-child(2){animation-delay:0.34s}
.mp-ov.show .mp-chip:nth-child(3){animation-delay:0.40s}
.mp-ov.show .mp-chip:nth-child(4){animation-delay:0.46s}
.mp-ov.show .mp-chip:nth-child(5){animation-delay:0.52s}
.mp-ov.show .mp-chip:nth-child(6){animation-delay:0.58s}
.mp-ov.show .mp-chip:nth-child(7){animation-delay:0.64s}
.mp-ov.show .mp-chip:nth-child(8){animation-delay:0.70s}
.mp-ov.show .mp-chip:nth-child(9){animation-delay:0.76s}
.mp-ov.show .mp-chip.on{animation-delay:0.28s,0.9s}
.mp-ov.show .mp-wk:nth-child(2)>.mp-dn:nth-child(1){animation-delay:0.350s}
.mp-ov.show .mp-wk:nth-child(2)>.mp-dn:nth-child(2){animation-delay:0.385s}
.mp-ov.show .mp-wk:nth-child(2)>.mp-dn:nth-child(3){animation-delay:0.420s}
.mp-ov.show .mp-wk:nth-child(2)>.mp-dn:nth-child(4){animation-delay:0.455s}
.mp-ov.show .mp-wk:nth-child(2)>.mp-dn:nth-child(5){animation-delay:0.490s}
.mp-ov.show .mp-wk:nth-child(2)>.mp-dn:nth-child(6){animation-delay:0.525s}
.mp-ov.show .mp-wk:nth-child(2)>.mp-dn:nth-child(7){animation-delay:0.560s}
.mp-ov.show .mp-wk:nth-child(3)>.mp-dn:nth-child(1){animation-delay:0.385s}
.mp-ov.show .mp-wk:nth-child(3)>.mp-dn:nth-child(2){animation-delay:0.420s}
.mp-ov.show .mp-wk:nth-child(3)>.mp-dn:nth-child(3){animation-delay:0.455s}
.mp-ov.show .mp-wk:nth-child(3)>.mp-dn:nth-child(4){animation-delay:0.490s}
.mp-ov.show .mp-wk:nth-child(3)>.mp-dn:nth-child(5){animation-delay:0.525s}
.mp-ov.show .mp-wk:nth-child(3)>.mp-dn:nth-child(6){animation-delay:0.560s}
.mp-ov.show .mp-wk:nth-child(3)>.mp-dn:nth-child(7){animation-delay:0.595s}
.mp-ov.show .mp-wk:nth-child(4)>.mp-dn:nth-child(1){animation-delay:0.420s}
.mp-ov.show .mp-wk:nth-child(4)>.mp-dn:nth-child(2){animation-delay:0.455s}
.mp-ov.show .mp-wk:nth-child(4)>.mp-dn:nth-child(3){animation-delay:0.490s}
.mp-ov.show .mp-wk:nth-child(4)>.mp-dn:nth-child(4){animation-delay:0.525s}
.mp-ov.show .mp-wk:nth-child(4)>.mp-dn:nth-child(5){animation-delay:0.560s}
.mp-ov.show .mp-wk:nth-child(4)>.mp-dn:nth-child(6){animation-delay:0.595s}
.mp-ov.show .mp-wk:nth-child(4)>.mp-dn:nth-child(7){animation-delay:0.630s}
.mp-ov.show .mp-wk:nth-child(5)>.mp-dn:nth-child(1){animation-delay:0.455s}
.mp-ov.show .mp-wk:nth-child(5)>.mp-dn:nth-child(2){animation-delay:0.490s}
.mp-ov.show .mp-wk:nth-child(5)>.mp-dn:nth-child(3){animation-delay:0.525s}
.mp-ov.show .mp-wk:nth-child(5)>.mp-dn:nth-child(4){animation-delay:0.560s}
.mp-ov.show .mp-wk:nth-child(5)>.mp-dn:nth-child(5){animation-delay:0.595s}
.mp-ov.show .mp-wk:nth-child(5)>.mp-dn:nth-child(6){animation-delay:0.630s}
.mp-ov.show .mp-wk:nth-child(5)>.mp-dn:nth-child(7){animation-delay:0.665s}
.mp-ov.show .mp-wk:nth-child(6)>.mp-dn:nth-child(1){animation-delay:0.490s}
.mp-ov.show .mp-wk:nth-child(6)>.mp-dn:nth-child(2){animation-delay:0.525s}
.mp-ov.show .mp-wk:nth-child(6)>.mp-dn:nth-child(3){animation-delay:0.560s}
.mp-ov.show .mp-wk:nth-child(6)>.mp-dn:nth-child(4){animation-delay:0.595s}
.mp-ov.show .mp-wk:nth-child(6)>.mp-dn:nth-child(5){animation-delay:0.630s}
.mp-ov.show .mp-wk:nth-child(6)>.mp-dn:nth-child(6){animation-delay:0.665s}
.mp-ov.show .mp-wk:nth-child(6)>.mp-dn:nth-child(7){animation-delay:0.700s}
.mp-ov.show .mp-wk:nth-child(7)>.mp-dn:nth-child(1){animation-delay:0.525s}
.mp-ov.show .mp-wk:nth-child(7)>.mp-dn:nth-child(2){animation-delay:0.560s}
.mp-ov.show .mp-wk:nth-child(7)>.mp-dn:nth-child(3){animation-delay:0.595s}
.mp-ov.show .mp-wk:nth-child(7)>.mp-dn:nth-child(4){animation-delay:0.630s}
.mp-ov.show .mp-wk:nth-child(7)>.mp-dn:nth-child(5){animation-delay:0.665s}
.mp-ov.show .mp-wk:nth-child(7)>.mp-dn:nth-child(6){animation-delay:0.700s}
.mp-ov.show .mp-wk:nth-child(7)>.mp-dn:nth-child(7){animation-delay:0.735s}
.mp-ov.show .mp-wk>.mp-ev:nth-of-type(1){animation-delay:0.83s}
.mp-ov.show .mp-wk>.mp-ev:nth-of-type(2){animation-delay:0.91s}
.mp-ov.show .mp-wk>.mp-ev:nth-of-type(3){animation-delay:0.99s}
.mp-ov.show .mp-wk>.mp-ev:nth-of-type(4){animation-delay:1.07s}
.mp-ov.show .mp-wk>.mp-ev:nth-of-type(5){animation-delay:1.15s}
.mp-ov.show .mp-wk>.mp-ev:nth-of-type(6){animation-delay:1.23s}
.mp-ov.show .mp-wk>.mp-ev:nth-of-type(7){animation-delay:1.31s}
.mp-ov.show .mp-wk>.mp-ev:nth-of-type(8){animation-delay:1.39s}
.mp-ov.show .mp-it:nth-child(1){animation-delay:0.78s}
.mp-ov.show .mp-it:nth-child(2){animation-delay:0.86s}
.mp-ov.show .mp-it:nth-child(3){animation-delay:0.94s}
.mp-ov.show .mp-it:nth-child(4){animation-delay:1.02s}
.mp-ov.show .mp-it:nth-child(5){animation-delay:1.10s}
.mp-ov.show .mp-it:nth-child(6){animation-delay:1.18s}
.mp-ov.show .mp-it:nth-child(7){animation-delay:1.26s}
.mp-ov.show .mp-it:nth-child(8){animation-delay:1.34s}
@media (prefers-reduced-motion:reduce){.mp-ov,.mp-ov *,.mp-ov.show *{animation:none!important;transition:none!important}.mp-ov.show{-webkit-backdrop-filter:none;backdrop-filter:none}}
/* ==== css/116-points-add4.css ==== */
/* คู่มือการใช้งาน (เมนู ☰ › คู่มือการใช้งาน) · js: tnhOpenGuide */
.hm-new{flex:none;margin-right:2px;padding:3px 8px;border-radius:999px;background:linear-gradient(135deg,#6ee7b7,#a3e635);color:#062a1d;font-size:10px;font-weight:800;letter-spacing:.6px;animation:gdNew 1.8s ease-in-out infinite}
@keyframes gdNew{50%{transform:scale(1.12);box-shadow:0 0 14px rgba(110,231,183,.7)}}
html.gd-lock,html.gd-lock body{overflow:hidden!important}
.gd-wrap{--a:#6ee7b7;--a2:#a3e635;--ease:cubic-bezier(.2,.8,.2,1);--p:0;position:fixed;inset:0;z-index:30500;display:flex;justify-content:center;pointer-events:none;visibility:hidden;color:#eef5f0;font-family:inherit}
html.tnh-halloween .gd-wrap{--a:#fb923c;--a2:#fcd34d}
.gd-wrap.show{pointer-events:auto;visibility:visible}
.gd-back{position:absolute;inset:0;background:rgba(2,8,6,.72);opacity:0;transition:opacity .45s var(--ease)}
.gd-wrap.show .gd-back{opacity:1}
.gd-panel{position:relative;width:100%;max-width:760px;height:100%;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,rgba(3,12,18,.9),rgba(2,10,15,.97)),url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center/cover no-repeat,#04121a;transform:translateY(7%) scale(.97);opacity:0;transition:transform .55s var(--ease),opacity .4s ease;will-change:transform,opacity;contain:layout paint}
.gd-wrap.show .gd-panel{transform:none;opacity:1}
.gd-wrap.out .gd-panel{transform:translateY(5%) scale(.98);opacity:0;transition-duration:.3s}
@media(min-width:760px){.gd-panel{height:calc(100% - 40px);margin-top:20px;border-radius:28px;border:1px solid rgba(125,211,252,.16);box-shadow:0 30px 80px rgba(0,0,0,.6)}}
/* ออโรร่าเคลื่อนไหวหลังเนื้อหา */
.gd-aur{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.gd-aur i{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;opacity:.55;background:radial-gradient(closest-side,rgba(110,231,183,.28),transparent 70%);animation:gdDrift 16s ease-in-out infinite alternate}
.gd-aur i:nth-child(1){left:-25%;top:-10%}
.gd-aur i:nth-child(2){right:-30%;top:38%;background:radial-gradient(closest-side,rgba(56,189,248,.2),transparent 70%);animation-duration:21s;animation-delay:-6s}
.gd-aur i:nth-child(3){left:5%;bottom:-25%;background:radial-gradient(closest-side,rgba(163,230,53,.16),transparent 70%);animation-duration:25s;animation-delay:-11s}
@keyframes gdDrift{to{transform:translate3d(14%,10%,0) scale(1.18)}}
/* หัว + แถบอ่านไปแล้ว */
.gd-top{position:relative;z-index:3;flex:none;padding:calc(10px + env(safe-area-inset-top)) 14px 0;background:linear-gradient(180deg,rgba(3,12,18,.92),rgba(3,12,18,.72));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.gd-bar{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:rgba(255,255,255,.06)}
.gd-bar i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--p));background:linear-gradient(90deg,var(--a),var(--a2));box-shadow:0 0 12px var(--a);border-radius:0 3px 3px 0}
.gd-hd{display:flex;align-items:center;gap:10px}
.gd-hd strong{flex:1;font-size:16px;font-weight:800;letter-spacing:.2px}
.gd-hd strong span{color:var(--a)}
.gd-x{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;padding:0;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:15px;cursor:pointer;transition:transform .25s var(--ease),background .2s}
.gd-x:hover{transform:rotate(90deg);background:rgba(255,255,255,.16)}
.gd-toc{display:flex;gap:7px;overflow-x:auto;padding:10px 2px 11px;scrollbar-width:none;scroll-snap-type:x proximity}
.gd-toc::-webkit-scrollbar{display:none}
.gd-chip{flex:none;display:flex;align-items:center;gap:6px;padding:7px 12px 7px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#cfdcd4;font:inherit;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer;scroll-snap-align:center;transition:background .3s,color .3s,transform .3s var(--ease),border-color .3s}
.gd-chip:active{transform:scale(.94)}
.gd-chip.on{background:linear-gradient(135deg,var(--a),var(--a2));color:#062a1d;border-color:transparent;box-shadow:0 6px 18px rgba(110,231,183,.3);transform:translateY(-1px)}
/* เนื้อหาเลื่อน */
.gd-scroll{position:relative;z-index:2;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth;padding:0 14px calc(40px + env(safe-area-inset-bottom))}
.gd-scroll::-webkit-scrollbar{width:0}
/* reveal */
.gd-rv{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .75s var(--ease),transform .75s var(--ease);transition-delay:calc(var(--d,0) * 70ms)}
.gd-rv.in{opacity:1;transform:none}
/* ฮีโร่ */
.gd-hero{position:relative;text-align:center;padding:30px 10px 22px}
.gd-mascot{position:relative;display:inline-grid;place-items:center;width:108px;height:108px;border-radius:50%;padding:3px;background:#fff;border:2px solid rgba(110,231,183,.6);box-shadow:0 14px 40px rgba(52,211,153,.3);animation:gdFloat 4.2s ease-in-out infinite}
.gd-mascot img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.gd-mascot::before{content:'';position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--a);opacity:0;animation:gdHalo 3s ease-out infinite;pointer-events:none}
@keyframes gdHalo{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55);opacity:0}}
@keyframes gdFloat{50%{transform:translateY(-9px) rotate(-3deg)}}
.gd-hero h2{margin:16px 0 4px;font-size:30px;line-height:1.15;font-weight:900;letter-spacing:-.3px;background:linear-gradient(90deg,#fff 20%,var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}
.gd-hero p{margin:0 auto;max-width:430px;font-size:14px;line-height:1.7;color:rgba(238,245,240,.72)}
.gd-stats{display:flex;justify-content:center;gap:8px;margin-top:18px;flex-wrap:wrap}
.gd-stats span{padding:7px 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:12px;color:rgba(238,245,240,.75)}
.gd-stats b{display:block;font-size:18px;font-weight:900;color:var(--a)}
.gd-hint{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:12px;color:rgba(238,245,240,.55)}
.gd-hint i{width:16px;height:26px;border:2px solid rgba(255,255,255,.4);border-radius:10px;position:relative}
.gd-hint i::after{content:'';position:absolute;left:50%;top:5px;width:3px;height:6px;margin-left:-1.5px;border-radius:3px;background:var(--a);animation:gdWheel 1.6s ease-in-out infinite}
@keyframes gdWheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(9px)}}
/* บท */
.gd-ch{position:relative;scroll-margin-top:118px;margin:8px 0 26px;padding:18px 14px 8px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.09);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.gd-chh{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.gd-no{flex:none;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:25px;background:linear-gradient(145deg,rgba(110,231,183,.26),rgba(255,255,255,.05));border:1px solid rgba(110,231,183,.3);transform:scale(.6) rotate(-14deg);transition:transform .8s cubic-bezier(.3,1.5,.5,1) .1s}
.gd-ch.in .gd-no{transform:none}
.gd-chh small{display:block;font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--a)}
.gd-chh h3{margin:1px 0 0;font-size:20px;font-weight:800;line-height:1.25;color:#fff}
.gd-sub{margin:2px 2px 14px;font-size:13.5px;line-height:1.65;color:rgba(238,245,240,.7)}
/* ขั้นตอน + เส้นเชื่อมที่ค่อย ๆ วาด */
.gd-steps{position:relative;margin:0;padding:0 0 0 0;list-style:none}
.gd-steps::before{content:'';position:absolute;left:17px;top:18px;bottom:26px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--a),rgba(110,231,183,.08));transform-origin:50% 0;transform:scaleY(0);transition:transform 1.5s var(--ease) .25s}
.gd-steps.in::before{transform:none}
.gd-st{position:relative;display:flex;gap:12px;padding-bottom:16px}
.gd-st>b{flex:none;position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:900;color:#062a1d;background:linear-gradient(135deg,var(--a),var(--a2));box-shadow:0 0 0 5px rgba(110,231,183,.13),0 6px 16px rgba(52,211,153,.3)}
.gd-st.in>b{animation:gdPop .7s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--d,0) * 70ms + .15s)}
@keyframes gdPop{0%{transform:scale(0)}100%{transform:scale(1)}}
.gd-st>div{flex:1;min-width:0;padding:11px 13px;border-radius:16px;background:rgba(6,18,14,.62);border:1px solid rgba(255,255,255,.08);transition:transform .35s var(--ease),border-color .3s}
.gd-st>div:active{transform:scale(.985);border-color:rgba(110,231,183,.4)}
.gd-st h4{margin:0 0 3px;font-size:15px;font-weight:800;color:#fff}
.gd-st p{margin:0;font-size:13.5px;line-height:1.7;color:rgba(238,245,240,.78)}
.gd-st p b,.gd-sub b{color:var(--a);font-weight:700}
.gd-tip{display:flex;gap:8px;margin-top:8px;padding:8px 10px;border-radius:12px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.25);font-size:12.5px;line-height:1.6;color:#fde68a}
.gd-tip::before{content:'💡';flex:none}
.gd-go{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 12px 48px}
.gd-gb{padding:8px 14px;border-radius:12px;background:rgba(110,231,183,.12);border:1px solid rgba(110,231,183,.35);color:#d1fae5;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:transform .25s var(--ease),background .2s}
.gd-gb:hover{background:rgba(110,231,183,.22)}.gd-gb:active{transform:scale(.94)}
/* ---------- สาธิตเคลื่อนไหว ---------- */
.gd-demo{margin:2px 0 16px 48px;padding:14px;border-radius:20px;background:linear-gradient(160deg,rgba(9,28,22,.9),rgba(4,14,11,.9));border:1px solid rgba(110,231,183,.18);overflow:hidden}
.gd-demo>small{display:block;margin-bottom:10px;font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--a)}
.gd-demo>small::before{content:'';display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:gdBlink 1.4s infinite}
@keyframes gdBlink{50%{opacity:.25}}
.gd-seatrow{display:flex;align-items:center;gap:14px}
.gd-van{flex:1;max-width:190px;padding:10px;border-radius:22px 22px 12px 12px;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.16)}
.gd-van .dr{display:flex;justify-content:flex-end;margin-bottom:8px;font-size:15px}
.gd-seats{display:grid;grid-template-columns:repeat(2,1fr) 14px repeat(1,1fr);gap:7px}
.gd-seats i{aspect-ratio:1;border-radius:8px 8px 4px 4px;background:rgba(255,255,255,.16)}
.gd-seats i.sp{background:none}
.gd-seats i.t{background:rgba(248,113,113,.45)}
.gd-seats i.p{animation:gdPick 7s ease-in-out infinite;animation-delay:var(--w)}
@keyframes gdPick{0%,10%{background:rgba(255,255,255,.16);transform:none}16%{transform:scale(1.3)}22%,84%{background:#6ee7b7;transform:scale(1);box-shadow:0 0 12px rgba(110,231,183,.7)}94%,100%{background:rgba(255,255,255,.16);box-shadow:none}}
.gd-ring{flex:none;text-align:center;font-size:11px;color:rgba(238,245,240,.7)}
.gd-ring svg{display:block;width:74px;height:74px;margin:0 auto 5px;transform:rotate(-90deg)}
.gd-ring circle{fill:none;stroke-width:5;stroke-linecap:round}
.gd-ring .bg{stroke:rgba(255,255,255,.1)}
.gd-ring .fg{stroke:var(--a);stroke-dasharray:113;stroke-dashoffset:0;animation:gdRing 7s linear infinite}
@keyframes gdRing{0%,22%{stroke-dashoffset:0}92%,100%{stroke-dashoffset:113}}
.gd-ring b{display:block;font-size:15px;color:#fff}
.gd-leg{display:flex;gap:12px;margin-top:10px;font-size:11px;color:rgba(238,245,240,.65)}
.gd-leg span::before{content:'';display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:3px;background:var(--c)}
.gd-payrow{display:flex;align-items:center;justify-content:space-around;gap:6px}
.gd-qr{position:relative;width:104px;height:104px;padding:8px;border-radius:14px;background:#fff;overflow:hidden}
.gd-qr::before{content:'';position:absolute;inset:8px;background:conic-gradient(#0b1712 25%,#fff 0 50%,#0b1712 0 75%,#fff 0) 0 0/13px 13px;opacity:.9;-webkit-mask:radial-gradient(circle at 20% 20%,#000 0 24%,transparent 25%) 0 0/100% 100%,linear-gradient(#000,#000);mask:linear-gradient(#000,#000)}
.gd-qr i{position:absolute;width:26px;height:26px;border:5px solid #0b1712;border-radius:5px;background:#fff;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 11px #0b1712}
.gd-qr i:nth-child(1){left:8px;top:8px}.gd-qr i:nth-child(2){right:8px;top:8px}.gd-qr i:nth-child(3){left:8px;bottom:8px}
.gd-qr::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--a);box-shadow:0 0 14px 3px var(--a);animation:gdScan 7s ease-in-out infinite}
@keyframes gdScan{0%{transform:translateY(4px);opacity:0}6%{opacity:1}34%{transform:translateY(100px);opacity:1}38%,100%{transform:translateY(100px);opacity:0}}
.gd-arr{font-size:22px;color:var(--a);animation:gdNudge 1.4s ease-in-out infinite}
@keyframes gdNudge{50%{transform:translateX(5px)}}
.gd-slip{position:relative;width:96px;padding:10px 9px;border-radius:12px;background:#f8fafc;color:#0f172a;font-size:10px;line-height:1.5;opacity:0;animation:gdSlip 7s ease-in-out infinite}
.gd-slip b{display:block;font-size:11px}
.gd-slip em{display:block;height:5px;margin-top:5px;border-radius:3px;background:#cbd5e1;font-style:normal}
.gd-slip u{position:absolute;right:-9px;top:-9px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;text-decoration:none;background:#22c55e;color:#fff;font-size:14px;font-weight:900;transform:scale(0);animation:gdTick 7s ease-in-out infinite}
@keyframes gdSlip{0%,38%{opacity:0;transform:translateY(16px) rotate(4deg)}46%,90%{opacity:1;transform:none}98%,100%{opacity:0}}
@keyframes gdTick{0%,56%{transform:scale(0)}64%{transform:scale(1.3)}70%,90%{transform:scale(1)}98%,100%{transform:scale(0)}}
.gd-tl{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding-top:30px}
.gd-tl::before,.gd-tl::after{content:'';position:absolute;left:12.5%;right:12.5%;top:11px;height:4px;border-radius:3px;background:rgba(255,255,255,.12)}
.gd-tl::after{background:linear-gradient(90deg,var(--a),var(--a2));transform-origin:0 50%;transform:scaleX(0);animation:gdFill 8s ease-in-out infinite}
@keyframes gdFill{0%{transform:scaleX(0)}60%,92%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
.gd-tl div{position:relative;text-align:center;font-size:10.5px;line-height:1.45;color:rgba(238,245,240,.7)}
.gd-tl div::before{content:'';position:absolute;left:50%;top:-25px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#0b1712;border:3px solid rgba(255,255,255,.3);z-index:1;animation:gdNode 8s ease-in-out infinite;animation-delay:var(--w)}
@keyframes gdNode{0%,6%{background:#0b1712;border-color:rgba(255,255,255,.3);transform:scale(1)}14%{transform:scale(1.5)}22%,92%{background:var(--a);border-color:#fff;transform:scale(1);box-shadow:0 0 12px var(--a)}100%{background:#0b1712;border-color:rgba(255,255,255,.3);box-shadow:none}}
.gd-tl b{display:block;color:#fff;font-size:11.5px}
/* ถามตอบแบบพับ */
.gd-faq{display:grid;gap:8px;margin-bottom:12px}
.gd-q{border-radius:16px;background:rgba(6,18,14,.62);border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:border-color .3s}
.gd-q.open{border-color:rgba(110,231,183,.4)}
.gd-q>button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 14px;border:0;background:none;color:#fff;font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
.gd-q>button::after{content:'+';margin-left:auto;font-size:22px;line-height:1;color:var(--a);transition:transform .4s var(--ease)}
.gd-q.open>button::after{transform:rotate(135deg)}
.gd-qa{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.gd-q.open .gd-qa{grid-template-rows:1fr}
.gd-qa>div{overflow:hidden}
.gd-qa p{margin:0;padding:0 14px 14px;font-size:13.5px;line-height:1.7;color:rgba(238,245,240,.78);opacity:0;transform:translateY(-6px);transition:opacity .4s ease .08s,transform .4s var(--ease)}
.gd-q.open .gd-qa p{opacity:1;transform:none}
/* ปิดท้าย */
.gd-end{text-align:center;padding:22px 14px 10px;border-radius:26px;background:linear-gradient(145deg,rgba(110,231,183,.16),rgba(56,189,248,.08));border:1px solid rgba(110,231,183,.28)}
.gd-end h3{margin:0 0 4px;font-size:20px;font-weight:800}
.gd-end p{margin:0 0 14px;font-size:13.5px;color:rgba(238,245,240,.75);line-height:1.6}
.gd-cta{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:16px;background:linear-gradient(135deg,#06c755,#22d3a0);color:#04210f;font-weight:800;font-size:15px;text-decoration:none;box-shadow:0 10px 26px rgba(6,199,85,.35);animation:gdGlow 2.4s ease-in-out infinite}
@keyframes gdGlow{50%{box-shadow:0 10px 40px rgba(6,199,85,.6);transform:translateY(-2px)}}
.gd-end small{display:block;margin-top:14px;font-size:11px;color:rgba(238,245,240,.45)}
.gd-top-btn{position:absolute;z-index:4;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));width:46px;height:46px;border-radius:50%;display:grid;place-items:center;padding:0;background:linear-gradient(135deg,var(--a),var(--a2));color:#062a1d;font-size:20px;font-weight:900;border:0;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.45);opacity:0;transform:translateY(20px) scale(.7);pointer-events:none;transition:opacity .35s,transform .45s cubic-bezier(.3,1.5,.5,1)}
.gd-wrap.far .gd-top-btn{opacity:1;transform:none;pointer-events:auto}
.gd-x:focus-visible,.gd-chip:focus-visible,.gd-gb:focus-visible,.gd-q>button:focus-visible,.gd-top-btn:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
@media(max-width:380px){.gd-demo,.gd-go{margin-left:0}.gd-hero h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.gd-wrap *,.gd-wrap *::before,.gd-wrap *::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}.gd-rv{opacity:1;transform:none}.gd-scroll{scroll-behavior:auto}.gd-steps::before{transform:none}.gd-slip{opacity:1}.gd-slip u{transform:none}.gd-tl::after{transform:none}}

.adm-em{padding:0;overflow:hidden}
.adm-em-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:14px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.adm-em-toggle .adm-em-ic{font-size:22px;line-height:1}
.adm-em-toggle b{font-size:16px;color:#fecaca}
.adm-em-toggle small{font-size:12px;color:#9aa59f}
.adm-em-toggle .adm-em-chev{margin-left:auto;font-style:normal;font-size:18px;color:#fecaca;transition:transform .2s}
.adm-em-toggle[aria-expanded="true"] .adm-em-chev{transform:rotate(180deg)}
.adm-em-body{padding:0 14px 14px}
.adm-em-body[hidden]{display:none}
.adm-em-van{margin-top:12px}
.adm-em-van-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.06);font-weight:900;font-size:14px;color:#e5e7eb}
.adm-em-van-count{font-size:12px;font-weight:800;color:#9aa59f}
.adm-em-van .adm-em-list{margin-top:8px}
.my-em-section{margin-top:14px!important;border-color:rgba(239,68,68,.35)!important;background:rgba(239,68,68,.08)!important;color:#fecaca!important;display:grid;gap:2px}
.my-em-section strong{font-size:13px}
.my-em-section span{font-size:10.5px;font-weight:700;color:#fca5a5}
.my-em-consent{display:flex;gap:9px;align-items:flex-start;margin:12px 0 4px;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.05);font-size:11.5px;line-height:1.5;text-align:left;color:#cbd5e1}
.my-em-consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:#10b981}
/* ==== css/130-motion-detail-seat.css ==== */
/*! เที่ยวนี่เหอะ — อนิเมชั่นหน้ารายละเอียดทริป (จังหวะแบบปฏิทิน) + หน้าจองเบาะ (จังหวะแบบคู่มือ)
   ใช้ transform/opacity เท่านั้น · ปิดอัตโนมัติเมื่อผู้ใช้ตั้ง prefers-reduced-motion */

/* ============================================================
   1) หน้ารายละเอียดทริป (#modalBg) — เหมือนปฏิทิน: ไล่ขึ้นทีละใบ + เด้งนุ่ม + ปิดแบบเฟด
   ============================================================ */
:root{--tnh-spring:cubic-bezier(.2,1.1,.3,1);--tnh-ease:cubic-bezier(.2,.8,.2,1)}

@keyframes mdUp{from{opacity:0;transform:translateY(18px)}}
@keyframes mdCell{from{opacity:0;transform:translateY(14px) scale(.86)}}
@keyframes mdImg{from{opacity:0;transform:scale(1.07)}}
@keyframes mdFill{from{transform:scaleX(0)}}
@keyframes mdShine{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
@keyframes mdBtn{from{opacity:0;transform:translateY(14px) scale(.94)}}
@keyframes mdSheetOut{to{opacity:0;transform:translateY(26px) scale(.97)}}
@keyframes mdBgOut{to{opacity:0}}

/* ปิดแบบเฟด (JS ใส่คลาส closing 220ms แล้วค่อยถอด show) */
#modalBg.show.closing{animation:mdBgOut .22s ease forwards;pointer-events:none}
#modalBg.show.closing>.modal-sheet{animation:mdSheetOut .22s ease forwards}

/* รูปปก: ซูมเข้าเบาๆ ตอนเปิด */
#modalBg.show .modal-img{animation:mdImg .9s var(--tnh-ease) backwards}

/* ปุ่มจอง: เด้งขึ้นหลังรูป */
#modalBg.show #md-bookBtn{animation:mdBtn .5s .22s var(--tnh-spring) backwards}

/* ข้อความไล่ขึ้นทีละบรรทัด */
#modalBg.show .modal-body>*{animation:mdUp .5s var(--tnh-spring) backwards}
#modalBg.show .modal-body>:nth-child(1){animation-delay:.12s}
#modalBg.show .modal-body>:nth-child(2){animation-delay:.17s}
#modalBg.show .modal-body>:nth-child(3){animation-delay:.22s}
#modalBg.show .modal-body>:nth-child(4){animation-delay:.27s}
#modalBg.show .modal-body>:nth-child(5){animation-delay:.32s}
#modalBg.show .modal-body>:nth-child(6){animation-delay:.52s}
#modalBg.show .modal-body>:nth-child(7){animation-delay:.58s}

/* ราคา / มัดจำ / จุดขึ้นรถ: ไล่ทีละชิ้น */
#modalBg.show .md-info>*{animation:mdUp .5s var(--tnh-spring) backwards}
#modalBg.show .md-info>:nth-child(1){animation-delay:.30s}
#modalBg.show .md-info>:nth-child(2){animation-delay:.36s}
#modalBg.show .md-info>:nth-child(3){animation-delay:.42s}
#modalBg.show .md-pay-step,#modalBg.show .modal-pickup-item{animation:mdCell .45s var(--tnh-spring) backwards}
#modalBg.show .md-pay-step:nth-of-type(1){animation-delay:.42s}
#modalBg.show .md-pay-step:nth-of-type(2){animation-delay:.52s}
#modalBg.show .modal-pickup-item:nth-of-type(1){animation-delay:.48s}
#modalBg.show .modal-pickup-item:nth-of-type(2){animation-delay:.54s}
#modalBg.show .modal-pickup-item:nth-of-type(3){animation-delay:.60s}
#modalBg.show .modal-pickup-item:nth-of-type(4){animation-delay:.66s}
#modalBg.show .modal-pickup-item:nth-of-type(5){animation-delay:.72s}

/* การ์ดสถิติ 4 ช่อง: เด้งทีละช่องเหมือนช่องวันที่ในปฏิทิน */
#modalBg.show .modal-grid>.modal-card{animation:mdCell .5s var(--tnh-spring) backwards}
#modalBg.show .modal-grid>.modal-card:nth-child(1){animation-delay:.36s}
#modalBg.show .modal-grid>.modal-card:nth-child(2){animation-delay:.42s}
#modalBg.show .modal-grid>.modal-card:nth-child(3){animation-delay:.48s}
#modalBg.show .modal-grid>.modal-card:nth-child(4){animation-delay:.54s}
.modal-card{transition:transform .3s var(--tnh-spring),box-shadow .3s}
@media (hover:hover){.modal-card:hover{transform:translateY(-2px)}}
.modal-card:active{transform:scale(.97)}

/* แถบที่นั่ง: เติมจากซ้ายไปขวา + แสงวิ่งผ่าน */
#modalBg.show .md-seatbar-track span{transform-origin:0 50%;animation:mdFill 1s .45s var(--tnh-ease) backwards;position:relative;overflow:hidden}
#modalBg.show .md-seatbar-track span::after{content:'';position:absolute;top:0;bottom:0;left:0;width:36%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation:mdShine 1.1s 1.2s ease-out 1 backwards}

/* ============================================================
   2) หน้าจองเบาะ (#bookingPage2) — เหมือนคู่มือ: เลื่อนถึงแล้วค่อยเฟดโผล่ทีละชิ้น
   JS ใส่คลาส bk-motion ที่หน้า + bk-rv ที่แต่ละบล็อก (ถ้า JS ไม่ทำงาน หน้าจะแสดงปกติ ไม่ซ่อนอะไร)
   ============================================================ */
#bookingPage2.bk-motion .bk-rv{opacity:0;transform:translateY(26px) scale(.985);
  transition:opacity .75s var(--tnh-ease),transform .75s var(--tnh-ease);
  transition-delay:calc(var(--d,0) * 70ms);will-change:opacity,transform}
#bookingPage2.bk-motion .bk-rv.in{opacity:1;transform:none;will-change:auto}

/* ป้ายสถานะ/ไอคอนหัวข้อ: เด้งโผล่ (เหมือนวงเลขขั้นตอนในคู่มือ) */
@keyframes bkPop{0%{transform:scale(0)}100%{transform:scale(1)}}
#bookingPage2.bk-motion .bk-rv.in .vt-ic,
#bookingPage2.bk-motion .bk-rv.in .sx-ic{animation:bkPop .7s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:calc(var(--d,0) * 70ms + .15s)}

/* ตำนานสี (ว่าง/เลือก/ล็อก/จอง): ไล่ทีละอัน */
@keyframes bkLeg{from{opacity:0;transform:translateY(8px) scale(.9)}}
#bookingPage2.bk-motion .seat-legend.in .leg-item{animation:bkLeg .5s var(--tnh-spring) backwards}
#bookingPage2.bk-motion .seat-legend.in .leg-item:nth-child(1){animation-delay:.10s}
#bookingPage2.bk-motion .seat-legend.in .leg-item:nth-child(2){animation-delay:.18s}
#bookingPage2.bk-motion .seat-legend.in .leg-item:nth-child(3){animation-delay:.26s}
#bookingPage2.bk-motion .seat-legend.in .leg-item:nth-child(4){animation-delay:.34s}
#bookingPage2.bk-motion .seat-legend.in .leg-item:nth-child(5){animation-delay:.42s}

/* เบาะ: เด้งเข้าทีละใบตอนผังโผล่ครั้งแรกเท่านั้น
   (ผังถูกวาดใหม่ทุก 3 วิ — JS ใส่คลาส seat-intro แค่ช่วงแรก และเลื่อน delay ให้ต่อเนื่องไม่เล่นซ้ำ) */
@keyframes bkSeat{0%{opacity:0;transform:translateY(12px) scale(.6)}60%{opacity:1;transform:scale(1.08)}100%{transform:none}}
#bookingPage2 .van-block.seat-intro .van-grid-seats .seat,
#bookingPage2 .van-block.seat-intro .onsite-grid>*{
  animation:bkSeat .55s cubic-bezier(.3,1.5,.5,1) backwards;
  animation-delay:calc(var(--si,0) * 32ms - var(--el,0ms))}

/* ฟอร์มผู้โดยสารของเบาะที่เพิ่งเลือก: สไลด์ขึ้นมาเฉพาะใบใหม่ */
@keyframes bkForm{from{opacity:0;transform:translateY(22px) scale(.97)}}
#bookingPage2 .seat-form-card.bk-new{animation:bkForm .6s var(--tnh-ease) backwards}

/* ปุ่มยืนยันด้านล่างโผล่ขึ้นพร้อมหน้า */
@keyframes bkBar{from{opacity:0;transform:translateY(100%)}}
#bookingPage2.show .sticky-bar{animation:bkBar .6s .25s var(--tnh-ease) backwards}

/* ผู้ใช้ปิดแอนิเมชั่นในระบบ → แสดงทันที ไม่ซ่อนอะไร */
@media (prefers-reduced-motion:reduce){
  #modalBg.show *,#modalBg.show.closing,#bookingPage2 *{animation:none!important}
  #bookingPage2.bk-motion .bk-rv{opacity:1!important;transform:none!important;transition:none!important}
}


/* review glowing spinner */
.rvx-loading .ico{display:grid;place-items:center}
.rvx-spin{display:inline-block;position:relative;border-radius:50%;border:3px solid rgba(103,232,249,.18);border-top-color:#67e8f9;border-right-color:#22d3ee;box-shadow:0 0 0 1px rgba(34,211,238,.12),0 0 18px rgba(34,211,238,.28),inset 0 0 12px rgba(103,232,249,.12);animation:rvxSpin .9s linear infinite,rvxPulse 1.8s ease-in-out infinite}
.rvx-spin::after{content:"";position:absolute;inset:5px;border-radius:50%;border:2px solid rgba(74,222,128,.18);border-bottom-color:#4ade80;border-left-color:#2dd4bf;opacity:.95}
.rvx-spin.lg{width:48px;height:48px}
.rvx-spin.sm{width:16px;height:16px;border-width:2px;vertical-align:-2px;margin-right:8px;box-shadow:0 0 0 1px rgba(34,211,238,.1),0 0 10px rgba(34,211,238,.24),inset 0 0 8px rgba(103,232,249,.1)}
.rvx-spin.sm::after{inset:3px;border-width:1.5px}
#reviewSubmitBtn.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:0;color:#e6fbff}
@keyframes rvxSpin{to{transform:rotate(360deg)}}
@keyframes rvxPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(34,211,238,.2))}50%{filter:drop-shadow(0 0 10px rgba(34,211,238,.5))}}
@media (prefers-reduced-motion:reduce){.rvx-spin{animation:rvxSpin 1.5s linear infinite}}


/* v211 — equipment rental trip chooser, using the existing forest theme */
#equipPage .eq-choose-trip{width:100%;display:flex;align-items:center;gap:13px;padding:16px 15px;text-align:left;border-radius:20px;border:1px solid rgba(90,203,221,.4);background:linear-gradient(125deg,rgba(14,52,56,.84),rgba(5,22,29,.83));color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.08);font:inherit;cursor:pointer}
#equipPage .eq-choose-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:15px;background:rgba(42,164,171,.16);border:1px solid rgba(88,212,224,.36);font-size:25px;color:#7be3e5}
#equipPage .eq-choose-label{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
#equipPage .eq-choose-label b{font-size:16px;font-weight:800;color:#fff}
#equipPage .eq-choose-label small{font-size:12px;color:#a7c8d1}
#equipPage .eq-choose-arrow{font-size:30px;color:#7be3e5}
#equipPage .eq-chosen-trip{margin-top:10px}
#equipPage .eq-chosen-trip .eq-trip-pick{width:100%;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;color:#fff;font:inherit}
#equipPage .eq-chosen-trip .eq-trip-pick-x{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.eq-picker-overlay[hidden]{display:none!important}
.eq-picker-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:22px 15px max(24px,env(safe-area-inset-bottom));background:rgba(1,8,11,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.eq-picker-panel{width:min(100%,480px);max-height:min(80dvh,800px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(94,205,205,.55);border-radius:24px;background:linear-gradient(180deg,rgba(6,20,24,.88),rgba(5,17,23,.95)),url('/ximg.php?f=1464822759023-fed622ff2c3b-600.jpg') center / cover no-repeat;box-shadow:0 16px 55px rgba(0,0,0,.65),0 0 18px rgba(48,191,204,.12);color:#fff}
.eq-picker-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 20px 15px;border-bottom:1px solid rgba(125,214,213,.15)}
.eq-picker-head>div{display:flex;flex-direction:column;gap:5px}.eq-picker-head b{font-size:18px}.eq-picker-head small{font-size:12px;color:#a9c1ca}
.eq-picker-close{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid rgba(128,208,216,.4);background:rgba(10,30,39,.8);color:#fff;font-size:27px;cursor:pointer}
.eq-picker-content{overflow-y:auto;overscroll-behavior:contain;padding:16px;-webkit-overflow-scrolling:touch}
.eq-picker-content .eq-trip-picks{display:flex;flex-direction:column;gap:10px}
.eq-picker-content .eq-trip-pick{font:inherit;color:#fff;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:18px;border:1px solid rgba(178,231,228,.18);background:rgba(8,36,37,.78);box-shadow:0 5px 15px rgba(0,0,0,.18)}
.eq-picker-content .eq-trip-pick.on{border-color:#5ed4d7;background:rgba(16,74,69,.88)}
.eq-picker-content .eq-trip-pick img,.eq-picker-content .eq-trip-pick-ic{width:54px;height:54px;flex-shrink:0;border-radius:13px;object-fit:cover}
.eq-picker-content .eq-trip-pick-x{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.eq-picker-content .eq-trip-pick-x b{font-size:14px}.eq-picker-content .eq-trip-pick-x small{font-size:12px;color:#b3cbd2}
.eq-picker-content .eq-trip-pick-check{width:26px;height:26px;flex-shrink:0;border-radius:50%;border:2px solid rgba(204,239,237,.35);display:grid;place-items:center}
.eq-picker-content .eq-trip-pick-check svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:3}
.eq-picker-content .eq-trip-pick.on .eq-trip-pick-check{background:#119898;border-color:#45d3d2}
body.eq-picker-open{overflow:hidden}



/* ============================================================
 v223 ROUND PICKER — single canonical style (v220–v222 replaced)
 Other site components are unchanged. Mobile-first and desktop-safe.
 ============================================================ */
.swal2-popup.tnh-rp-popup {
  box-sizing:border-box!important;width:min(94vw,490px)!important;max-width:490px!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  border:1px solid rgba(91,194,215,.40)!important;border-radius:27px!important;
  background:#06121c!important;color:#eef7fb!important;
  box-shadow:0 24px 76px rgba(0,0,0,.68)!important;
}
.swal2-popup.tnh-rp-popup .swal2-html-container.tnh-rp-html {
  display:block!important;box-sizing:border-box!important;width:100%!important;
  margin:0!important;padding:0!important;overflow:hidden!important;max-height:inherit!important;text-align:left!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref {
  box-sizing:border-box!important;position:relative!important;isolation:isolate!important;
  display:flex!important;flex-direction:column!important;width:100%!important;
  height:min(85dvh,810px)!important;max-height:min(85dvh,810px)!important;
  overflow:hidden!important;color:#ecf7fb!important;
  background:#06131c!important;
}
/* The forest is ONE unbroken photo behind all content below the hero. */
.swal2-popup.tnh-rp-popup .tnh-rp-ref::before {
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  background:url('/ximg.php?f=1448375240586-882707db888b-900.jpg') center center/cover no-repeat!important;
  filter:saturate(.68) brightness(.45)!important;opacity:.75!important;z-index:-2!important;
  pointer-events:none!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref::after {
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  background:linear-gradient(180deg,rgba(3,12,20,.08),rgba(3,12,20,.40) 30%,rgba(3,12,20,.74) 58%,rgba(3,12,20,.85))!important;
  z-index:-1!important;pointer-events:none!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cover {
  box-sizing:border-box!important;position:relative!important;inset:auto!important;
  display:block!important;width:100%!important;
  height:205px!important;min-height:205px!important;flex:0 0 205px!important;
  margin:0!important;padding:0!important;overflow:hidden!important;background:#102632!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cover-img {
  display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:center 45%!important;filter:none!important;opacity:1!important;
  transform:none!important;mask-image:none!important;-webkit-mask-image:none!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cover::after {content:none!important;display:none!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-header {
  box-sizing:border-box!important;position:relative!important;inset:auto!important;z-index:1!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  min-height:0!important;margin:0!important;padding:15px 18px 10px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  text-align:left!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-eyebrow {
  display:flex!important;align-items:center!important;gap:7px!important;
  color:#8be7f5!important;font-size:11px!important;font-weight:800!important;
  margin:0 0 4px!important;letter-spacing:.02em!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-eyebrow-dot {
  width:7px!important;height:7px!important;border-radius:50%!important;background:#8be7f5!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-header h2 {
  margin:0!important;max-width:100%!important;color:#fff!important;
  font-size:clamp(20px,5.8vw,27px)!important;font-weight:850!important;line-height:1.25!important;
  overflow-wrap:anywhere!important;text-align:left!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-header p {
  margin:5px 0 0!important;color:#d5e6ec!important;font-size:12px!important;
  line-height:1.35!important;text-align:left!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-toolbar {
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  flex:0 0 auto!important;padding:11px 18px 7px!important;background:transparent!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-toolbar strong{color:#f3fbff!important;font-size:15px!important;font-weight:800!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-toolbar small{color:#adc6d0!important;font-size:11px!important;font-weight:600!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-filters {
  box-sizing:border-box!important;display:flex!important;gap:8px!important;flex:0 0 auto!important;
  width:100%!important;min-height:0!important;padding:6px 16px 14px!important;margin:0!important;
  overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;
  background:transparent!important;border:0!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-filters::-webkit-scrollbar {display:none!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-filter {
  box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;height:40px!important;flex:0 0 auto!important;padding:0 14px!important;
  border-radius:13px!important;border:1px solid rgba(101,192,214,.27)!important;
  background:rgba(6,22,33,.80)!important;color:#d1e8ef!important;
  font:inherit!important;font-size:12px!important;font-weight:750!important;white-space:nowrap!important;
  cursor:pointer!important;box-shadow:none!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-filter span {
  display:grid!important;place-items:center!important;min-width:20px!important;height:20px!important;
  border-radius:7px!important;padding:0 5px!important;background:rgba(255,255,255,.10)!important;
  color:inherit!important;font-size:11px!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-filter.is-active {
  background:#72deec!important;color:#052735!important;border-color:#91effb!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-filter.is-active span{background:rgba(5,36,47,.12)!important}
/* Only this area scrolls. The footer never covers the second card. */
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-scroll {
  box-sizing:border-box!important;flex:1 1 0!important;min-height:0!important;max-height:none!important;
  overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;padding:16px 17px 26px!important;
  background:transparent!important;scrollbar-width:thin!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-section {
  display:flex!important;flex-direction:column!important;gap:16px!important;
  margin:0!important;padding:0!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-section[hidden] {display:none!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip {
  box-sizing:border-box!important;position:relative!important;display:flex!important;align-items:center!important;
  gap:12px!important;flex:0 0 auto!important;width:100%!important;min-height:110px!important;
  margin:0!important;padding:14px 12px!important;overflow:visible!important;
  border:1px solid rgba(106,202,223,.29)!important;border-radius:21px!important;
  background:rgba(6,23,35,.84)!important;color:#fff!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 8px 20px rgba(0,0,0,.18)!important;
  text-align:left!important;font:inherit!important;cursor:pointer!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip.is-nearest {
  margin-top:11px!important;border-color:rgba(115,217,237,.7)!important;
  background:rgba(8,35,47,.91)!important;
  box-shadow:0 0 0 1px rgba(113,212,235,.09),0 8px 20px rgba(0,0,0,.18)!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-nearest {
  position:absolute!important;z-index:2!important;top:-11px!important;left:16px!important;
  padding:4px 10px!important;border-radius:9px!important;background:#82e6f2!important;
  color:#062d3c!important;font-size:10px!important;font-weight:850!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip:disabled{opacity:.65!important;cursor:not-allowed!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-date {
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  flex:0 0 69px!important;width:69px!important;min-width:69px!important;height:76px!important;
  border:1px solid rgba(130,206,225,.28)!important;border-radius:16px!important;
  background:rgba(4,16,24,.85)!important;
}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-date small{font-size:10px!important;font-weight:750!important;color:#b0d7df!important;line-height:1.2!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-date strong{font-size:22px!important;font-weight:850!important;color:#fff!important;line-height:1.22!important;white-space:nowrap!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-info {display:flex!important;flex:1 1 auto!important;min-width:0!important;flex-direction:column!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cost {display:flex!important;align-items:baseline!important;gap:4px!important;flex-wrap:wrap!important;line-height:1.3!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cost strong{font-size:19px!important;font-weight:850!important;color:#fff!important;white-space:nowrap!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cost small{font-size:11px!important;color:#c2d5dc!important;white-space:nowrap!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-track{display:block!important;width:100%!important;height:6px!important;margin:9px 0 7px!important;border-radius:99px!important;background:rgba(183,215,226,.22)!important;overflow:hidden!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-track span{display:block!important;height:100%!important;border-radius:99px!important;background:#6dddec!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip.is-full .tnh-rp-track span{background:#fa938a!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-availability{font-size:11px!important;font-weight:700!important;color:#d1e6ec!important;line-height:1.4!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip.is-full .tnh-rp-availability{color:#ffb3aa!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-side {display:flex!important;flex:0 0 auto!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:9px!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-state {display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;white-space:nowrap!important;min-height:24px!important;padding:4px 9px!important;border-radius:99px!important;border:1px solid rgba(78,207,147,.25)!important;background:rgba(7,48,32,.85)!important;color:#a0f1bc!important;font-size:10px!important;font-weight:850!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-state-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:currentColor!important;box-shadow:0 0 7px currentColor!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-state.is-full{background:rgba(71,25,25,.85)!important;color:#ffaea8!important;border-color:rgba(238,124,114,.25)!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-state.is-soon,.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-state.is-past{background:rgba(53,66,73,.80)!important;color:#d4e2e6!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-arrow {display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;flex:0 0 auto!important;min-width:99px!important;height:37px!important;padding:0 10px!important;border-radius:12px!important;border:1px solid rgba(157,236,247,.60)!important;background:#74e1ef!important;color:#052c38!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-arrow::after{content:none!important;display:none!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-arrow-svg{display:block!important;width:14px!important;height:14px!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip:disabled .tnh-rp-arrow{background:#3a5562!important;color:#cddde5!important;border-color:#52717f!important}
.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-footer {
  box-sizing:border-box!important;position:relative!important;z-index:1!important;
  display:block!important;flex:0 0 auto!important;min-height:48px!important;
  margin:0!important;padding:14px 10px max(15px,env(safe-area-inset-bottom))!important;
  border-top:1px solid rgba(122,193,210,.14)!important;
  background:rgba(4,14,23,.92)!important;color:#aec6d0!important;
  font-size:11px!important;text-align:center!important;
}
.swal2-popup.tnh-rp-popup .swal2-close.tnh-rp-close {position:absolute!important;z-index:20!important;top:13px!important;right:13px!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border:1px solid rgba(171,220,230,.30)!important;border-radius:12px!important;background:rgba(6,20,27,.65)!important;color:white!important;font-size:28px!important;box-shadow:none!important}
@media (max-width:410px){
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cover{height:175px!important;min-height:175px!important;flex-basis:175px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-header{padding:13px 14px 7px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-toolbar{padding:8px 14px 5px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-filters{padding:5px 13px 11px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-scroll{padding:16px 13px 24px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip{gap:9px!important;min-height:102px!important;padding:11px 9px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-date{flex-basis:61px!important;min-width:61px!important;width:61px!important;height:72px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-date strong{font-size:20px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cost strong{font-size:17px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-side{gap:8px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-arrow{min-width:87px!important;height:35px!important;padding:0 8px!important;font-size:11px!important}
}
@media (min-width:768px){
  .swal2-popup.tnh-rp-popup{width:min(86vw,570px)!important;max-width:570px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref{height:min(83dvh,790px)!important;max-height:min(83dvh,790px)!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cover{height:215px!important;min-height:215px!important;flex-basis:215px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip{min-height:116px!important;padding:15px 18px!important}
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-date{width:75px!important;min-width:75px!important;flex-basis:75px!important;height:81px!important}
}
@media (max-height:690px){
  .swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-cover{height:130px!important;min-height:130px!important;flex-basis:130px!important}
}
@media (prefers-reduced-motion:reduce){.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-trip,.swal2-popup.tnh-rp-popup .tnh-rp-ref .tnh-rp-filter{transition:none!important}}
