/* หน้า "ห้องที่เก็บไว้" saved.php (13 พ.ย. 2569) · การ์ด = rh_cards.css · ปุ่มบนการ์ด/แถบเทียบ = rh_saved.css */
.svp { --n: #0E1E3D; --mut: #4A5470; --bd: #E3E6EE; display: grid; gap: 28px; padding-block: 12px 40px; font-family: 'Sarabun', sans-serif; color: var(--n); }
.svp h1 { font-size: 24px; font-weight: 800; margin: 0 0 12px; } .svp h1 .svp-n { color: var(--mut); font-weight: 600; font-size: 18px; }
.svp h2 { font-size: 20px; font-weight: 800; margin: 0 0 12px; }
.svp-note { color: var(--mut); font-size: 14.5px; margin: 10px 0 0; }
.svp-from { background: #FFF4EA; border-radius: 12px; padding: 10px 14px; margin: 0 0 12px; font-size: 15px; }
.svp-from[hidden] { display: none; }
.svp-lnk { border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: #1a2577; text-decoration: underline; cursor: pointer; }
.svp .rhc.svp-off { opacity: .45; }
.svp-act { display: grid; gap: 10px; max-width: 460px; margin-top: 18px; }
.svp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px; border: 0; border-radius: 12px; background: var(--n); color: #fff !important; font: inherit; font-size: 16px; font-weight: 700; text-decoration: none !important; cursor: pointer; }
.svp-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.svp-out { background: #fff; color: var(--n) !important; border: 1.5px solid var(--n); }
.svp-line { background: #06C755; }
.svp-btn[disabled] { opacity: .6; cursor: progress; }
.svp-btn[hidden] { display: none; }
.svp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.svp-err { color: #B4231F; font-weight: 600; margin: 0; } .svp-err[hidden] { display: none; }
.svp-qr { display: flex; gap: 16px; align-items: center; border: 1px solid var(--bd); border-radius: 14px; padding: 14px; }
.svp-qri { width: 168px; flex: none; } .svp-qri svg { width: 100%; height: auto; display: block; }
.svp-qrt { display: grid; gap: 4px; } .svp-qrt span { color: var(--mut); font-size: 14.5px; } .svp-qrk { font-weight: 700; color: var(--n) !important; }
.svp-empty { display: grid; justify-items: center; gap: 8px; text-align: center; padding: 36px 16px; border: 1px dashed var(--bd); border-radius: 16px; }
.svp-empty svg { width: 44px; height: 44px; fill: none; stroke: #1a2577; stroke-width: 1.8; stroke-linejoin: round; }
.svp-empty p { margin: 0; color: var(--mut); max-width: 360px; } .svp-empty b { color: var(--n); font-size: 17px; }
/* ตารางเทียบ: หัวแถวคร่อมทุกคอลัมน์ (มือถือ 3 คอลัมน์ไม่ล้นจอ) · ดีสุด = พื้นเขียวอ่อน + ป้าย */
@media (max-width: 600px) { .svp-qr { flex-direction: column; align-items: flex-start; } }
/* 11-13 บ่าย ตารางเทียบ = ตารางกลาง rh_cmp.js + หน้าตา rh_yes.css (.ys-ct · .ys-cmp-body) แบบเดียวกับ Yes! Sure · กล่อง .ys ให้สี/ฟอนต์ชุดเดียวกัน */
.svp-cmpw { font-size: 14px; }
/* 11-13 บ่าย เจ้าของเจอบนมือถือ: เลื่อนตารางไปห้องท้าย = ทั้งหน้าเลื่อนตาม (เมนู/โลโก้หลุดจอ) · ต้นเหตุ .svp = grid → ลูก min-width:auto ขยายตามตาราง → ล็อกไว้ให้เลื่อนเฉพาะในกล่องตาราง */
.svp > * { min-width: 0; }
/* 11-13 เย็น เจ้าของเห็นบนมือถือ: การ์ดหดเข้ามาจากหัวข้อ (ระยะขอบ .rhv ของหน้าค้นหา 15px) → ตรงแนวหัวข้อ */
.svp #svp-cards { margin-left: 0; margin-right: 0; }
