/* Sàn Căn, p-phu.css (gói WP-5): trang chủ nhà /chu-nha, căn đã lưu /da-luu, màn đăng nhập /dang-nhap và đăng ký /dang-ky.
   Hợp đồng: nang-cap-2026-10/thiet-ke/ban-chot.md mục B.4, B.5, B.6, C.17b, D.3 (thang chữ), D.4 (khoảng cách, bo góc), E.2.
   Mọi class pc-* do js/p-trang-phu.js phát ra định nghĩa ở đây (thành phần dùng chung nằm ở p-nen.css). Các class pc-auth* do app.js
   (viewAuth) phát ra cũng định nghĩa ở đây. Ô nhập viết dạng ".pc-auth-form input[type=…]" (0,2,1) để thắng input[type=text] của app.css (0,1,1).
   Ngưỡng màn hình (A.2): điện thoại < 760 · máy tính bảng 760-999 · máy tính ≥ 1000. Không định nghĩa lại pc-btn, pc-chip, pc-card…
   Bo góc (D.4): phần tương tác 999 · hộp chứa 16 · ô nhập 12. Không bóng cho thẻ phẳng, không viền nhấn mép trái, không chữ in hoa. */

/* =====================================================================================================
   B.5 TRANG CHỦ NHÀ /chu-nha
   ===================================================================================================== */
.pc-cn,.pc-cn-top,.pc-cn-main,.pc-cn-vidu,.pc-cn-cols,.pc-cn-l,.pc-cn-r,.pc-cn-sec,.pc-cn-cta{display:grid;grid-template-columns:minmax(0,1fr)}
.pc-cn{gap:var(--pc-gap)}
.pc-cn-top{gap:32px}
.pc-cn-main{gap:16px;align-content:start}
.pc-cn-lede{margin:0;max-width:40ch;font-size:17px;line-height:26px;color:var(--ink)}
/* khối nút: câu mã mời ngay TRÊN nút chính (CN sửa 6), nút chính cao 52, rộng hết cột trên điện thoại */
.pc-cn-cta{gap:8px;max-width:440px}
.pc-cn-note{margin:0;font-size:13px;line-height:18px;font-weight:500;color:var(--ink)}
.pc-cn-cta .pc-cn-go{width:100%;min-height:52px;margin-top:4px}
.pc-cn-links{margin:0;padding:0;list-style:none;display:grid}
.pc-cn-links .pc-more{font-size:15px;line-height:20px}
.pc-cn-cta .pc-btn--zalo{justify-self:start}
.pc-cn-acts{display:flex;flex-wrap:wrap;gap:8px}
/* thẻ ví dụ: chữ thay số (pc-field ở p-nen.css), viền đứt */
.pc-cn-vidu{gap:12px;align-content:start}
.pc-cn-vidu .pc-card{max-width:420px}
.pc-cn-cap{margin:0;font-size:13px;line-height:18px;font-weight:500;color:var(--muted)}
.pc-cn-cols{gap:var(--pc-gap)}
.pc-cn-l{gap:32px;align-content:start}
.pc-cn-sec{gap:8px;align-content:start}
.pc-cn-sec p{margin:0;max-width:62ch;font-size:15px;line-height:24px;color:var(--ink)}
.pc-cn-list{margin:0;padding-left:20px;display:grid;gap:8px;max-width:62ch;font-size:15px;line-height:24px;color:var(--ink);list-style:disc}
.pc-cn-nhan-t{min-width:0}
.pc-cn-fig{display:none}                       /* ảnh phối cảnh chỉ trên máy tính: điện thoại không tải (loading=lazy + display:none) */
/* trang này một cột hỏi đáp (p-nen.css chia 2 cột trên máy tính cho trang chủ) */
.pc-cn .pc-faq-list{column-count:1}
.pc-cn .pc-faq-i:last-child{border-bottom:1px solid var(--line-soft)}
.pc-cn-camket{margin:0;max-width:62ch;font-size:15px;line-height:24px;font-weight:600;color:var(--ink)}
@media (min-width:1000px){
  .pc-cn-top{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;align-items:start}
  .pc-cn-main{padding-top:8px}
  .pc-cn-lede{font-size:18px;line-height:28px}
  .pc-cn-cta .pc-cn-go{min-height:52px}
  .pc-cn-cols{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;align-items:start}
  .pc-cn-nhan{grid-template-columns:minmax(0,1fr) 240px;column-gap:24px}
  .pc-cn-nhan > .pc-h2,.pc-cn-nhan-t{grid-column:1}
  .pc-cn-fig{display:grid;grid-column:2;grid-row:1 / span 3;align-self:start}
}

/* =====================================================================================================
   B.4 CĂN ĐÃ LƯU /da-luu
   ===================================================================================================== */
.pc-saved,.pc-saved-body,.pc-saved-grid,.pc-saved-main,.pc-saved-side,.pc-vua,.pc-nho-wrap{display:grid;grid-template-columns:minmax(0,1fr)}
.pc-saved{gap:8px}
.pc-saved-hd{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px}
.pc-saved-count{font-family:var(--serif);font-weight:700;font-size:21px;line-height:28px;color:var(--muted);font-variant-numeric:tabular-nums}
.pc-saved-lede{margin:0;max-width:62ch;font-size:13px;line-height:18px;font-weight:500;color:var(--muted)}
.pc-saved-body{gap:16px;margin-top:12px}
.pc-saved-grid{gap:32px}
.pc-saved-main{align-content:start}
.pc-saved-side{gap:32px;align-content:start}
.pc-saved-rows{margin:0;padding:0;list-style:none;display:grid;gap:12px}
/* một dòng đã lưu: bìa 72 | giá, tiêu đề (link phủ cả dòng), mã + tình trạng; nút Bỏ lưu góc trên phải; dòng "Giá chào đã đổi" rộng hết */
.pc-saved-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px 12px;padding:12px;
  background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--pc-r-box);color:var(--ink)}
.pc-saved-cv{grid-column:1;grid-row:1;align-self:start}
.pc-saved-bd{grid-column:2;grid-row:1;display:grid;gap:4px;min-width:0;align-content:start}
.pc-saved-bd p{margin:0}
.pc-saved-price{padding-right:92px;min-height:44px;display:flex;align-items:center;font-weight:800;font-size:17px;line-height:24px;color:var(--navy);font-variant-numeric:tabular-nums}
.pc-saved-title{font-size:15px;line-height:22px;font-weight:600;color:var(--ink)}
.pc-saved-a{color:inherit;text-decoration:none}
.pc-saved-a::after{content:"";position:absolute;inset:0;border-radius:inherit}   /* cả dòng bấm được, nút Bỏ lưu nằm trên */
.pc-saved-title abbr[title]{text-decoration:underline dotted;text-underline-offset:3px}
.pc-saved-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.pc-saved-doi{grid-column:1 / -1;margin:0;padding:8px 12px;border-radius:var(--pc-r-band);background:var(--sunk);font-size:13px;line-height:18px;font-weight:600;color:var(--ink)}
.pc-saved-x{position:absolute;top:12px;right:12px;z-index:1;min-height:44px;padding-inline:14px;background:var(--surface)}
@media (pointer:fine){ .pc-saved-x{min-height:44px} }
.pc-saved-a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.pc-saved-row:has(.pc-saved-a:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.pc-saved-row:has(.pc-saved-a:focus-visible) .pc-saved-a:focus-visible{outline:none}
@media (hover:hover){
  .pc-saved-row:not(.pc-saved-row--gone):hover{border-color:var(--line-strong)}
  .pc-saved-row:hover .pc-saved-a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
}
/* mã không còn trên sàn: một hàng chữ + nút, không link */
.pc-saved-row--gone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;background:var(--bg)}
.pc-saved-row--gone .pc-saved-x{position:static}
.pc-saved-gone{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:44px}
.pc-saved-empty{display:grid;gap:12px;justify-items:start;padding:20px 16px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--pc-r-box);font-size:15px;line-height:24px}
.pc-saved-empty p{margin:0}
/* đầu khối phụ: tiêu đề + nút chữ cùng hàng */
.pc-vua,.pc-nho-wrap{gap:8px;align-content:start}
.pc-saved-sh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px}
.pc-saved-sx{margin-right:-8px}
/* tìm kiếm đã nhớ (C.17b): tên 15/600, dòng căn mới là link, nút Bỏ nhớ 44 */
.pc-nho-l{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-soft)}
.pc-nho{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.pc-nho p{margin:0;grid-column:1}
.pc-nho-t{padding-top:4px;font-size:15px;line-height:22px;font-weight:600;color:var(--ink)}
.pc-nho-n{font-size:15px;line-height:20px;color:var(--ink)}
.pc-nho-0{font-size:13px;line-height:18px;font-weight:500;color:var(--muted)}
.pc-nho-x{grid-column:2;grid-row:1 / span 2;min-height:44px;padding-inline:14px}
@media (pointer:fine){ .pc-nho-x{min-height:44px} }
@media (min-width:1000px){
  .pc-saved-count{font-size:28px;line-height:36px}
  .pc-saved-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:48px;align-items:start}
  .pc-saved-grid--1{grid-template-columns:minmax(0,1fr)}
  .pc-saved-grid--1 .pc-saved-main{max-width:760px}
  .pc-saved-side .pc-nho-wrap{order:-1}        /* máy tính: cột phải "Tìm kiếm đã nhớ" trước "Căn bạn vừa xem" (B.4) */
  .pc-saved-row{grid-template-columns:88px minmax(0,1fr);padding:16px;column-gap:16px}
  .pc-saved-cv .pc-dc--mini{width:88px}
  .pc-saved-x{top:16px;right:16px}
}

/* =====================================================================================================
   B.6 ĐĂNG NHẬP /dang-nhap, ĐĂNG KÝ /dang-ky (markup do app.js viewAuth phát; khối ngữ cảnh do p-trang-phu.js authAside)
   Điện thoại: ‹ Quay lại · khối ngữ cảnh · tab · form · câu thử nghiệm kín (aside tách thành 2 mảnh bằng display:contents + order).
   Máy tính: form 440 ở cột 1-6, cột phải 8-12 là khối ngữ cảnh và câu thử nghiệm kín.
   ===================================================================================================== */
.pc-auth{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.pc-auth-back{display:inline-flex;align-items:center;justify-self:start;min-height:44px;color:var(--accent);font-size:15px;line-height:20px;font-weight:600;text-decoration:none}
.pc-auth-back:hover{text-decoration:underline;text-underline-offset:3px}
.pc-auth-grid{display:flex;flex-direction:column;gap:16px}
.pc-auth-side{display:contents}
.pc-auth-ctx{order:-1;display:grid;gap:4px;max-width:440px;padding:12px 16px;border-radius:var(--pc-r-box);background:var(--sunk);font-size:15px;line-height:22px;color:var(--ink)}
.pc-auth-ctx p{margin:0}
.pc-auth-ctx-t{font-weight:600}
.pc-auth-ctx-d{font-variant-numeric:tabular-nums}
.pc-auth-kin{order:1;display:grid;gap:0;max-width:440px;font-size:15px;line-height:22px;color:var(--ink)}
.pc-auth-kin p{margin:0}
.pc-auth-kin .pc-more{font-size:15px;line-height:20px}
/* đăng ký trên điện thoại: form đã có câu thử nghiệm kín ngay trên ô Mã mời, không nhắc lần hai ở cuối trang */
@media (max-width:999.98px){ .pc-auth:has(.pc-auth-form .pc-auth-note) .pc-auth-kin{display:none} }
/* form: điện thoại phẳng (không hộp trong hộp), máy tính là hộp 440 */
.pc-auth-form.auth{width:100%;max-width:440px;margin:0;padding:0;gap:16px;background:transparent;border:0;border-radius:0;box-shadow:none}
.pc-auth-form h1{margin:4px 0 0;font-family:var(--serif);font-weight:700;line-height:30px;letter-spacing:-.005em;color:var(--navy)}
.pc-auth-form h1:focus:not(:focus-visible){outline:none}
/* 2 tab là link có aria-current (không phải nút chuyển chế độ) */
.pc-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid var(--line-strong);border-radius:var(--pc-r-ctl);background:var(--surface)}
.pc-auth-tabs a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border-radius:var(--pc-r-ctl);color:var(--ink);font-size:15px;line-height:20px;font-weight:600;text-align:center;text-decoration:none}
.pc-auth-tabs a[aria-current="page"]{background:var(--navy);color:var(--bg)}
.pc-auth-tabs a:focus-visible{outline-offset:1px}
@media (hover:hover){ .pc-auth-tabs a:not([aria-current="page"]):hover{background:var(--sunk)} }
.pc-auth-note{margin:0;font-size:15px;line-height:22px;font-weight:500;color:var(--ink)}
.pc-auth-help{margin:-8px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:15px;line-height:20px}
.pc-auth-help a:not(.pc-btn){display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* nhãn luôn trên ô; viền ô --line-strong (≥ 3:1); chữ 16 để iOS không phóng to; cao 48 */
.pc-auth-form label.f{gap:6px;font-size:13px;line-height:18px;font-weight:600;color:var(--muted)}
.pc-auth-form input[type=text],.pc-auth-form input[type=tel],.pc-auth-form input[type=password],.pc-auth-form input[type=email]{
  min-height:48px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--pc-r-in);background:var(--surface);color:var(--ink);
  font-family:var(--f);font-size:16px;line-height:24px;font-weight:400;scroll-margin-bottom:96px}
.pc-auth-form input.mono[type=text]{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}
.pc-auth-form input[type=text]:focus-visible,.pc-auth-form input[type=tel]:focus-visible,.pc-auth-form input[type=password]:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}
.pc-auth-form label.chk{min-height:44px;align-items:flex-start;padding:4px 0;font-size:14px;line-height:22px;font-weight:500;color:var(--ink)}
.pc-auth-form label.chk input[type=checkbox]{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}
.pc-auth-form .role{min-height:48px;border-color:var(--line-strong)}
.pc-auth-form .role[aria-pressed="true"]{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.pc-auth-form button[type=submit]{min-height:48px;border-radius:var(--pc-r-ctl);font-size:15px;line-height:20px}
.pc-auth-form .small{font-size:13px;line-height:18px}
@media (min-width:1000px){
  .pc-auth{gap:12px}
  .pc-auth-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
  .pc-auth-form.auth{grid-column:1 / span 6;padding:24px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--pc-r-box)}
  .pc-auth-side{display:grid;grid-column:8 / span 5;gap:16px;align-content:start;padding-top:8px}
  .pc-auth-ctx,.pc-auth-kin{order:0;max-width:none}
  /* không có cột phải (đã mở đăng ký tự do, không đến từ trang căn): form về giữa như màn cũ */
  .pc-auth-grid:not(:has(.pc-auth-side)){display:flex;justify-content:center}
}
