/* Màu chủ đạo theo MỤC (body[data-sec]): mỗi mục một màu từ icon menu tới điểm nhấn trong trang; chỉ dùng ở các điểm nhấn
   (nhãn nhỏ, tiêu đề lọc, chip/tab đang chọn, phân trang, nút chính) — nền và chữ vẫn trung tính để dễ đọc và phân cấp rõ.
   Màu trạng thái (Đã xác thực xanh, VIP vàng, cảnh báo đỏ) giữ nguyên, không đổi theo mục. */
:root{--sec:#0c9c79;--sec-d:#077a5f;--sec-s:#e2f4ee}
body[data-sec="nha-khoa"]{--sec:#0c9c79;--sec-d:#077a5f;--sec-s:#e2f4ee}
body[data-sec="voucher"]{--sec:#ef7d1a;--sec-d:#c4620d;--sec-s:#fdefe1}
body[data-sec="labo"]{--sec:#1f62d6;--sec-d:#164ba8;--sec-s:#e6eefc}
body[data-sec="vat-tu"]{--sec:#6b4fd8;--sec-d:#5136b3;--sec-s:#efebfc}
body[data-sec="tuyen-dung"]{--sec:#0e8fb3;--sec-d:#0b7898;--sec-s:#e0f4fa}
body[data-sec="dung-cu"]{--sec:#b5651d;--sec-d:#8f4f14;--sec-s:#f8ebdd}
body[data-sec="sang-nhuong"]{--sec:#d6455d;--sec-d:#b0334a;--sec-s:#fbe8eb}
body[data-sec="hoi-nha-si"]{--sec:#c2409b;--sec-d:#9c2f7c;--sec-s:#fae7f4}
body[data-sec="tin-tuc"]{--sec:#3f4a60;--sec-d:#14213d;--sec-s:#eef1f6}
body[data-sec="nha-si"]{--sec:#5d8a1e;--sec-d:#476c14;--sec-s:#eaf3dc}
body[data-sec="bang-gia"]{--sec:#c99a2e;--sec-d:#9c741a;--sec-s:#fbf3df}

/* menu trên: mỗi mục một màu icon riêng; mục đang mở có gạch chân + chữ cùng màu */
nav.menu .c-v i{color:#ef7d1a} nav.menu .c-n i{color:#0c9c79} nav.menu .c-l i{color:#1f62d6}
nav.menu .c-vt i{color:#6b4fd8} nav.menu .c-j i{color:#0e8fb3} nav.menu .c-d i{color:#b5651d}
nav.menu .c-s i{color:#d6455d} nav.menu .c-q i{color:#c2409b} nav.menu .c-b i{color:#3f4a60}
nav.menu .c-ns i{color:#5d8a1e!important} nav.menu .c-bg i{color:#c99a2e!important}
nav.menu a.c-v.on{color:#c4620d} nav.menu a.c-v.on::after{background:#ef7d1a}
nav.menu a.c-n.on{color:#077a5f} nav.menu a.c-n.on::after{background:#0c9c79}
nav.menu a.c-l.on{color:#164ba8} nav.menu a.c-l.on::after{background:#1f62d6}
nav.menu a.c-vt.on{color:#5136b3} nav.menu a.c-vt.on::after{background:#6b4fd8}
nav.menu a.c-j.on{color:#0b7898} nav.menu a.c-j.on::after{background:#0e8fb3}
nav.menu a.c-d.on{color:#8f4f14} nav.menu a.c-d.on::after{background:#b5651d}
nav.menu a.c-s.on{color:#b0334a} nav.menu a.c-s.on::after{background:#d6455d}
nav.menu a.c-q.on{color:#9c2f7c} nav.menu a.c-q.on::after{background:#c2409b}
nav.menu a.c-b.on{color:#14213d} nav.menu a.c-b.on::after{background:#3f4a60}
nav.menu a.c-ns.on{color:#476c14} nav.menu a.c-ns.on::after{background:#5d8a1e}
nav.menu a.c-bg.on{color:#9c741a} nav.menu a.c-bg.on::after{background:#c99a2e}

/* điểm nhấn trong trang theo màu mục (trang chủ / trang chung giữ màu thương hiệu) */
body[data-sec] .eyebrow,body[data-sec] .lp-hd .eyebrow{color:var(--sec-d)}
body[data-sec] .sh i,body[data-sec] .fgrp h6>i:first-child,body[data-sec] .fgrp .fgh>i:first-child{color:var(--sec)!important}
body[data-sec] .tbar .cnt b{color:var(--sec-d)}
body[data-sec] .pill.on,body[data-sec] .tabs .tab.on{border-color:var(--sec);background:var(--sec-s);color:var(--sec-d)}
body[data-sec] .pill.on i,body[data-sec] .tab.on i{color:var(--sec)!important}
body[data-sec] nav.pager a.on{background:var(--sec);border-color:var(--sec);color:#fff}
body[data-sec] .ptabs a.on::after{background:var(--sec)}
body[data-sec] .lp-ic{background:var(--sec-s);color:var(--sec)}
body[data-sec] .lp-tag{color:var(--sec-d);background:var(--sec-s)}
body[data-sec] .active-f .af{border-color:var(--sec);color:var(--sec-d);background:var(--sec-s)}
/* nút chính trong nội dung theo màu mục (nút trạng thái/VIP/cảnh báo giữ nguyên) */
body[data-sec] main .btn-mint{background:var(--sec);border-color:var(--sec);color:#fff}
body[data-sec] main .btn-mint:hover{background:var(--sec-d);border-color:var(--sec-d)}
body[data-sec] main .layout .side .sh{border-bottom-color:var(--sec-s)}

/* ===== Biểu mẫu "Đặt câu hỏi cho nha sĩ" (hoi-nha-si): nổi bật, chia 3 bước rõ ràng ===== */
/* Biểu mẫu Hỏi nha sĩ — theo CHUẨN GIAO DIỆN (p-ui.css): ô 36px, chip 30px, bo 4px, khoảng cách thang 4/8/12/16/24 */
.askf{padding:0;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-2)}
.askf-hd{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-4);color:#fff;background:linear-gradient(120deg,var(--sec) 0%,var(--sec-d) 100%)}
.askf-ic{width:32px;height:32px;border-radius:var(--r);display:grid;place-items:center;font-size:18px;background:rgba(255,255,255,.18);flex:none}
.askf-hd h2{margin:0;font-size:var(--t-h2);letter-spacing:-.3px;color:#fff}
.askf-hd p{margin:2px 0 0;font-size:var(--t-meta);color:rgba(255,255,255,.9);line-height:1.4}
.askf .askf-bd{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:var(--s-4);padding:var(--s-4)}
.askf-st{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--s-2)}
.askf-st legend{display:flex;align-items:center;gap:var(--s-2);padding:0;margin-bottom:var(--s-2);font-weight:var(--fw-semi);font-size:14px;color:var(--ink)}
.askf-st legend em{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:var(--fw-semi);background:var(--sec);color:#fff;flex:none}
.askf-st legend small{font-weight:var(--fw-normal);font-size:var(--t-meta);color:var(--ink-3)}
.askf .form-label{font-size:13px;font-weight:var(--fw-semi);color:var(--ink-2);margin:0 0 4px}
.askf .form-label b{color:var(--rose)}
form.askf .askf-bd .form-control{background:#fff;border:1px solid #cfd6e2;height:var(--h-ctl);font-size:14px;color:var(--ink);border-radius:var(--r);padding:0 10px}
form.askf .askf-bd .form-control::placeholder{color:#8d96a8}
form.askf .askf-bd .form-control:focus{border-color:var(--sec);box-shadow:0 0 0 3px var(--sec-s)}
form.askf .askf-bd textarea.askf-ta{height:auto;min-height:84px;padding:8px 10px;line-height:1.5;resize:vertical}
.askf-topics{display:flex;flex-wrap:wrap;gap:6px}
.askf-chip{position:relative;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:1px solid #d5dbe6;border-radius:var(--r);background:#fff;font-size:13px;font-weight:var(--fw-semi);color:var(--ink-2);cursor:pointer;transition:border-color .12s,background .12s}
.askf-chip i{font-size:14px;color:var(--ink-3)}
.askf-chip input{position:absolute;opacity:0;pointer-events:none}
.askf-chip:hover{border-color:var(--sec)}
.askf-chip:has(input:checked){border-color:var(--sec);background:var(--sec-s);color:var(--sec-d)}
.askf-chip:has(input:checked) i{color:var(--sec)}
.askf-chip:has(input:focus-visible){outline:2px solid var(--sec);outline-offset:2px}
.askf-meta{display:flex;justify-content:space-between;gap:var(--s-3);font-size:var(--t-meta);color:var(--ink-3);line-height:1.4}
.askf-meta i{color:var(--gold);margin-right:4px}
.askf-cnt{white-space:nowrap;font-variant-numeric:tabular-nums}
.askf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.askf-grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.askf-grid>div{min-width:0}
.askf-seg{display:grid;grid-template-columns:1fr 1fr;height:var(--h-ctl);border:1px solid #cfd6e2;border-radius:var(--r);overflow:hidden;background:#fff}
.askf-seg label{display:grid;place-items:center;cursor:pointer;font-size:13px;font-weight:var(--fw-semi);color:var(--ink-2)}
.askf-seg label+label{border-left:1px solid #cfd6e2}
.askf-seg input{position:absolute;opacity:0;pointer-events:none}
.askf-seg label:has(input:checked){background:var(--sec-s);color:var(--sec-d);box-shadow:inset 0 -2px 0 var(--sec)}
.askf-drop{position:relative;display:flex;gap:var(--s-2);align-items:center;min-height:var(--h-ctl);padding:0 10px;border:1px dashed #aab4c6;border-radius:var(--r);background:#fafbfd;color:var(--ink-2);font-size:13px;cursor:pointer}
.askf-drop:hover{border-color:var(--sec);background:var(--sec-s)}
.askf-drop i{font-size:16px;color:var(--sec);flex:none}
.askf-drop span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.askf-drop input{position:absolute;opacity:0;width:1px;height:1px}
.askf-hint{display:block;margin-top:4px;font-size:var(--t-meta);color:var(--ink-3);line-height:1.4}
.askf-consent{display:flex;gap:var(--s-2);align-items:flex-start;font-size:13px;color:var(--ink-2);line-height:1.5;cursor:pointer}
.askf-consent input{margin-top:3px;width:15px;height:15px;accent-color:var(--sec);flex:none}
.askf-submit{display:flex;align-items:center;justify-content:center;gap:var(--s-2);height:40px;border:0;border-radius:var(--r);font:inherit;font-size:14px;font-weight:var(--fw-semi);color:#fff;background:var(--sec);cursor:pointer;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.askf-submit:hover{background:var(--sec-d)}
.askf-submit:active{transform:translateY(1px)}
@media (max-width:760px){.askf-grid,.askf-grid.g3{grid-template-columns:minmax(0,1fr)}.askf-hd{padding:var(--s-3)}.askf .askf-bd{padding:var(--s-3);gap:var(--s-4)}.askf-meta{flex-direction:column;gap:4px}form.askf .askf-bd .form-control,.askf-seg,.askf-drop{min-height:40px;height:40px}.askf-chip{height:34px}}

/* ===== Đầu trang Bảng giá & quyền lợi: sáng, nhiều màu theo từng hạng, bậc thang minh hoạ cấp bậc ===== */
.bgh{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px;align-items:center;margin-top:12px;padding:30px 30px 26px;border:1px solid #e9e3d2;border-radius:var(--r);
  background:radial-gradient(circle at 0% 0%,#fff3d3 0,transparent 42%),radial-gradient(circle at 100% 0%,#e6eefc 0,transparent 38%),radial-gradient(circle at 100% 100%,#f1eaff 0,transparent 42%),linear-gradient(180deg,#fffdf8,#fff);box-shadow:0 14px 40px -22px rgba(20,33,61,.35)}
.bgh::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#9aa4b5 0%,#0c9c79 22%,#ef7d1a 46%,#c99a2e 70%,#6b4fd8 100%)}
.bgh-l{min-width:0}
.bgh .eyebrow{color:#9c741a;letter-spacing:.14em}
.bgh h1{margin:6px 0 10px;font-size:30px;line-height:1.2;letter-spacing:-.8px;color:var(--ink)}
.bgh h1 .bgh-hl{background:linear-gradient(100deg,#c99a2e,#ef7d1a 60%,#d6455d);-webkit-background-clip:text;background-clip:text;color:transparent}
.bgh-l>p{margin:0 0 18px;max-width:560px;font-size:14px;line-height:1.65;color:var(--ink-2)}
.bgh-pts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bgh-pts li{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:rgba(255,255,255,.85)}
.bgh-pts li>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:19px;flex:none}
.bgh-pts .c1>span{background:#fdefe1;color:#ef7d1a}
.bgh-pts .c2>span{background:#e6eefc;color:#1f62d6}
.bgh-pts .c3>span{background:#e2f4ee;color:#0c9c79}
.bgh-pts b{display:block;font-size:14px;color:var(--ink)}
.bgh-pts small{display:block;margin-top:1px;font-size:13px;color:var(--ink-3);line-height:1.4}
.bgh-r{min-width:0;display:grid;gap:12px}
.lad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;align-items:end;height:230px}
.lad .st{position:relative;display:grid;align-content:start;justify-items:center;gap:6px;padding:12px 4px 8px;border-radius:var(--r);text-align:center;color:#fff;box-shadow:0 10px 22px -12px rgba(20,33,61,.5)}
.lad .st i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:18px;background:rgba(255,255,255,.22)}
.lad .st b{font-size:11px;line-height:1.25;font-weight:var(--fw-semi)}
.lad .st em{font-style:normal;font-size:11px;line-height:1.25;opacity:.9;font-weight:var(--fw-semi)}
.lad .s0{height:88px;background:linear-gradient(180deg,#aab3c2,#8a94a7)}
.lad .s1{height:116px;background:linear-gradient(180deg,#25bd97,#0a8a6b)}
.lad .s2{height:146px;background:linear-gradient(180deg,#ff9a40,#e2680c)}
.lad .s3{height:182px;background:linear-gradient(180deg,#3a3320,#17140c);color:#f3c969}
.lad .s3 i{background:rgba(243,201,105,.18);color:#f3c969}
.lad .s4{height:230px;background:linear-gradient(180deg,#8a6df0 0%,#6b4fd8 55%,#3b2490 130%);box-shadow:0 14px 28px -10px rgba(107,79,216,.7)}
.lad .s4::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);pointer-events:none}
.bgh-r .cap{display:flex;gap:7px;align-items:center;justify-content:center;font-size:13px;font-weight:var(--fw-semi);color:var(--ink-2)}
.bgh-r .cap i{color:#0c9c79;font-size:16px}
@media (max-width:860px){.bgh{grid-template-columns:minmax(0,1fr);padding:22px 18px 20px;gap:22px}.bgh h1{font-size:26px}.lad{height:200px}.lad .s0{height:96px}.lad .s1{height:120px}.lad .s2{height:146px}.lad .s3{height:172px}.lad .s4{height:200px}.lad .st b{font-size:11px}}

/* Đầu trang (thanh trên cùng + logo/tìm kiếm + menu) rộng hết màn hình trên máy tính; nội dung trang vẫn giữ độ rộng đọc thoải mái */
@media (min-width:1000px){
  .util>.wrap,header.main>.wrap{max-width:none;padding-left:28px;padding-right:28px}
}
/* icon nhà ở menu: căn chính giữa ô, không lệch xuống so với chữ các mục khác */
nav.menu a.home{padding:0 12px;justify-content:center;align-items:center}
nav.menu a.home i{display:grid;place-items:center;width:22px;height:22px;margin:0;line-height:1;font-size:20px}

/* ===== Ô tìm kiếm trong trang (sbox2) + nền mặc định cho .form-control ngoài biểu mẫu CMS ===== */
.sbox2{display:flex;gap:8px;margin:12px 0}
.sbox2 .sbx{flex:1;min-width:0;display:flex;align-items:center;gap:var(--s-2);height:40px;padding:0 var(--s-3);background:#fff;border:1px solid #cfd6e2;border-radius:var(--r);color:var(--ink-3);transition:border-color .12s,box-shadow .12s}
.sbox2 .sbx:focus-within{border-color:var(--sec);box-shadow:0 0 0 3px var(--sec-s);color:var(--sec)}
.sbox2 .sbx i{font-size:17px;flex:none}
.sbox2 .sbx input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:14px;color:var(--ink)}
.sbox2 .sbx input::placeholder{color:#8d96a8}
.sbox2 .sbtn{flex:none;height:40px;padding:0 var(--s-5);border:0;border-radius:var(--r);font:inherit;font-weight:var(--fw-semi);font-size:14px;color:#fff;background:var(--sec);cursor:pointer;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.sbox2 .sbtn:hover{background:var(--sec-d)}
.sbox2 .sbtn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--sec-d)}
:where(.form-control){box-sizing:border-box;width:100%;min-height:36px;padding:0 10px;background:#fff;border:1px solid #cfd6e2;border-radius:4px;font:inherit;font-size:14px;color:var(--ink)}
:where(.form-control:focus){outline:0;border-color:var(--sec);box-shadow:0 0 0 3px var(--sec-s)}

/* Menu chính: đặt lại vào giữa, trong khung nội dung như cũ (không trải full width — màn 2K/4K vẫn gọn); đầu trang (logo/tìm kiếm) vẫn rộng */
@media (min-width:1000px){
  header.main nav.menu{width:100%;max-width:calc(var(--w) - 32px);margin-left:auto;margin-right:auto}
}
nav.menu a.c-ns{background:#eaf3dc;color:#476c14;font-weight:var(--fw-semi);border-radius:8px;margin:6px 0;padding-left:14px;padding-right:14px}
nav.menu a.c-ns:hover{background:#dcebc6}
nav.menu a.c-ns.on{background:#d3e6b8}
nav.menu a.c-ns.on::after{display:none}

/* Thẻ danh sách: hàng "SĐT ẩn · Chỉ đường · Lưu" không xuống dòng, vừa khít cột nút */
.lr .act .mini-i{gap:4px;flex-wrap:nowrap;white-space:nowrap;font-size:11px}
.lr .act .mini-i>*{white-space:nowrap;flex:none;min-width:0}
.lr .act .mini-i i{font-size:11px}
@media (min-width:761px){.lr{grid-template-columns:72px minmax(0,1fr) 184px}.lr.pic{grid-template-columns:208px minmax(0,1fr) 184px}}

/* "Voucher của tôi": mã + nút Sử dụng mã */
.vccode{margin-left:auto;padding:4px 9px;border:1.5px dashed var(--sec);border-radius:6px;background:var(--sec-s);color:var(--sec-d);font:var(--fw-semi) 12px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.03em}
.vccode+.btn{margin-left:8px}

/* ===== Thanh bên "Nổi bật từ nha khoa VIP" + "Tin mới" (partials/side-promo.ejs) ===== */
.sidep{overflow:hidden}
.sidep .bh{display:flex;align-items:center;gap:9px;padding:11px 14px;flex-wrap:nowrap}
.sidep .bh h2{font-size:14px;line-height:1.25;margin:0;min-width:0}
.sidep .t-gold{background:linear-gradient(135deg,#f6d77e,#c99a2e);color:#3a2a06}
.sidep-vip .bh{background:linear-gradient(100deg,#17140c,#2c2310);border-bottom:0}
.sidep-vip .bh h2{color:#fff3d0}
.sidep-tag{margin-left:auto;flex:none;white-space:nowrap;font-size:11px;font-weight:var(--fw-semi);letter-spacing:.07em;text-transform:uppercase;color:#f3c969;background:rgba(243,201,105,.12);border:1px solid rgba(243,201,105,.45);border-radius:999px;padding:3px 9px}
.sidep-l{display:grid}
.sidep-i{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-top:1px solid var(--line-2,#eef1f4);color:inherit;text-decoration:none;transition:background .15s}
.sidep-i:first-child{border-top:0}
.sidep-i:hover{background:var(--sec-s,#f6fcfa)}
.sidep-i:hover .tx b{color:var(--blue)}
.sidep-i .th{width:92px;aspect-ratio:3/2;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:var(--bg-3,#eef2f6);color:var(--ink-3);font-size:24px;position:relative}
.sidep-i .th img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block}
.sidep-i .tx{display:grid;gap:5px;min-width:0;align-content:start}
.sidep-i .tx b{font-size:13px;font-weight:var(--fw-semi);line-height:1.38;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sidep-i .tx small{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3);line-height:1.35;min-width:0}
.sidep-i .tx small .cn{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidep-i .tx small .cn i{flex:none;font-size:12px;color:var(--ink-4)}
.sidep-i .tx small time{margin-left:auto;flex:none;font-variant-numeric:tabular-nums}
.sidep-i .lb{display:inline-flex;gap:4px;align-items:center;justify-self:start;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:var(--fw-semi);letter-spacing:.02em}
.sidep-i .lb.tvip{background:#17140c;color:#f3c969}
.sidep-i .lb.sp{background:linear-gradient(90deg,#6b4fd8,#4a31b8);color:#fff}
.sidep-i .lb.rv{background:#fdefe1;color:#c4620d}
/* ảnh thay thế theo hạng khi bài chưa có ảnh */
.sidep-i.k-vp .th:not(:has(img)){background:radial-gradient(circle at 80% 15%,rgba(243,201,105,.35),transparent 55%),linear-gradient(135deg,#17140c,#3a2e12);color:#f3c969}
.sidep-i.k-sp .th:not(:has(img)){background:radial-gradient(circle at 80% 15%,rgba(167,148,240,.45),transparent 55%),linear-gradient(135deg,#3b2a8c,#6b4fd8);color:#efeaff}
.sidep-i.k-rv .th:not(:has(img)){background:linear-gradient(135deg,#fdefe1,#fbd9b4);color:#ef7d1a}
.sidep-i.sup{background:linear-gradient(90deg,rgba(107,79,216,.07),transparent 60%)}
/* ô đầu: thẻ lớn */
.sidep-i.hero{grid-template-columns:1fr;gap:10px;padding:0 0 14px}
.sidep-i.hero .th{width:100%;aspect-ratio:16/9;border-radius:0;font-size:40px}
.sidep-i.hero .th:has(img)::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(0deg,rgba(20,33,61,.28),transparent)}
.sidep-i.hero .tx{padding:0 14px;gap:6px}
.sidep-i.hero .tx b{font-size:14px;line-height:1.35;-webkit-line-clamp:3}
.sidep-i.hero+.sidep-i{border-top:1px solid var(--line)}

/* ===== Ghim VIP / Super VIP đầu danh sách (nền vàng nhạt) ===== */
.pin-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.pin-hd b{font-size:15px;color:var(--ink)}
.pin-hd small{margin-left:auto;font-size:11px;color:#9c741a}
.pin-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:var(--fw-semi);letter-spacing:.03em}
.pin-tag.tvip{background:#17140c;color:#f3c969}
.pin-tag.sp{background:linear-gradient(90deg,#6b4fd8,#4a31b8);color:#fff}
.pin-super{margin:0 0 14px;padding:14px 14px 12px;border:1.5px solid #bfb0f3;border-radius:var(--r);background:radial-gradient(circle at 100% 0,rgba(107,79,216,.14),transparent 45%),linear-gradient(180deg,#f6f3ff,#fcfbff)}
.pin-super .pin-hd small{color:#5136b3}
.pin-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,300px);gap:12px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 8px;scroll-snap-type:x proximity}
.pin-strip>*{scroll-snap-align:start;min-width:0}
.pinv{margin:0 0 14px;padding:12px;border:1.5px solid #f0d9a3;border-radius:var(--r);background:linear-gradient(180deg,#fffaf0,#fffdf8)}
.pinv .pin-rows{display:grid;gap:10px}
.pinv .pin-rows>*{background:#fff}
.pinv-hd{display:none}
/* trong khung ghim, khối/danh sách luôn hiện bất kể công tắc xem Danh sách/Khối/Bản đồ */
#results[data-view=map] .pin-super,#results[data-view=map] .pinv{display:none}

/* Chân trang: bản quyền + liên kết + "Vận hành bởi" thẳng hàng */
.f5 .wrap{align-items:center}
.f5 .r{align-items:center}
.f5 .r a,.f5 .r .by{display:inline-flex;align-items:center;line-height:1.4;height:20px;margin:0}
.f5 .r .by{padding-top:0;padding-bottom:0}
/* Nút Trợ lý + nút lên đầu trang nằm góc phải dưới: không chừa dải trống bên dưới, dòng bản quyền giữ nguyên một hàng */
.f5{padding-bottom:4px}
/* Bảng giá — khối Super VIP gọn: giới thiệu + giá ngang hàng, quyền lợi trải full-width phía dưới */
section.superbox{grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"l r" "list list";gap:16px 24px;align-items:center}
section.superbox .sb-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
@media (max-width:960px){section.superbox{grid-template-columns:1fr;grid-template-areas:"l" "r" "list"}section.superbox .sb-list{grid-template-columns:1fr}}

/* Ảnh bài viết: thumbnail riêng tỉ lệ 3:2 (public/anh/tin-tuc/thumb, scripts/tao-anh-thumb.js); ảnh bìa ngang 16:7 chỉ dùng ở khối lớn và đầu bài */
.nrow{grid-template-columns:230px minmax(0,1fr)}
.nrow .im:has(>img),.nmed .im:has(>img){aspect-ratio:3/2;min-height:0;align-self:center}
.nmed{grid-template-columns:168px minmax(0,1fr)}
.nbig .im:has(>img){height:auto;aspect-ratio:16/7}
.feat .img:has(>img){height:auto;aspect-ratio:16/7}
.nrow .im img,.nmed .im img,.nbig .im img,.feat .img img{object-fit:cover;object-position:left center}
@media (max-width:960px){.nrow{grid-template-columns:1fr}.nrow .im:has(>img){align-self:stretch;aspect-ratio:16/9}.nmed{grid-template-columns:124px minmax(0,1fr)}}

/* Trang bài viết: ảnh đầu bài + tiêu đề nằm TRONG cột bài (thanh bên lên ngang đầu bài), mục lục nằm trong bài */
.p-post .acols{margin-top:10px}
.p-post .abody .ahero.top,.p-post .abody .rvgal.top{margin-top:0;margin-bottom:10px}
.p-post .abody .ahero.top{height:auto;aspect-ratio:16/7}
.p-post .abody .atop{max-width:none;margin-top:6px}
.p-post .abody .atop h1{font-size:28px}
.p-post .abody .spon-top{margin-bottom:8px}
details.toc-in{position:static;margin:14px 0 18px;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 2px rgba(20,33,61,.04);overflow:hidden}
details.toc-in summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;padding:11px 14px;font-size:13px;font-weight:var(--fw-semi);color:var(--ink);background:linear-gradient(90deg,#eef5ff,#f7fbfa)}
.toc-in .ti,.cmts>h2 .ti,.cmts h2 .ti{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#fff;color:var(--blue);font-size:15px;box-shadow:0 0 0 1px #d9e5f8}
details.toc-in summary::-webkit-details-marker{display:none}
details.toc-in summary small{margin-left:auto;font-weight:var(--fw-semi);color:var(--ink-3);font-size:11px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:2px 9px}
details.toc-in summary::after{content:"";flex:none;width:7px;height:7px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);margin:-3px 2px 0 2px;transition:transform .15s}
details.toc-in[open] summary::after{transform:rotate(-135deg);margin-top:3px}
details.toc-in ol{margin:0;padding:10px 12px 12px;list-style:none;display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--rows,4),auto);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px;counter-reset:toc}
details.toc-in li{counter-increment:toc;min-width:0}
details.toc-in a{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.4;color:var(--ink-2);padding:7px 8px;border-radius:6px;border:0}
details.toc-in a::before{content:counter(toc,decimal-leading-zero);flex:none;min-width:24px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--bg-3,#eef2f6);color:var(--ink-3);font-size:11px;font-weight:var(--fw-semi);font-variant-numeric:tabular-nums}
details.toc-in a:hover{background:#f3f7fd;color:var(--blue)}
details.toc-in a.on{background:#eaf1fd;color:var(--blue);font-weight:var(--fw-semi)}
details.toc-in a.on::before,details.toc-in a:hover::before{background:var(--blue);color:#fff}
@media (max-width:760px){details.toc-in ol{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:1fr}.p-post .abody .atop h1{font-size:23px}}
.p-post aside{display:grid;gap:14px;align-content:start}
.p-post aside .box{margin:0}

/* ===== Trang chủ — khung "Đặt hẹn nhanh" (bộ mặt khi mới vào): đầy đặn, ô nhập rõ, CTA nổi; ô Dịch vụ trải hết dòng vì ô Mã voucher bên cạnh bị ẩn ở trang chủ ===== */
.qbook .bd .form-grid > div:has(> [name=subject]),.qbook .bd .form-grid > div:has(> [name=ngay]){grid-column:1/-1}
.qbook{border:0;box-shadow:0 10px 30px rgba(20,33,61,.12),0 0 0 1px rgba(31,98,214,.12);border-radius:var(--r);position:relative}
.qbook .hd{position:relative;overflow:hidden;padding:16px 16px 14px;background:linear-gradient(120deg,#1f62d6 0%,#2b7be8 55%,#0c9c79 160%)}
.qbook .hd::before{content:"";position:absolute;right:-30px;top:-46px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12)}
.qbook .hd::after{content:"";position:absolute;right:56px;bottom:-70px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.08)}
.qbook .hd .ic{width:40px;height:40px;font-size:22px;background:rgba(255,255,255,.2);border-radius:var(--r);position:relative;z-index:1}
.qbook .hd > div{position:relative;z-index:1}
.qbook .hd b{font-size:16px;letter-spacing:-.2px}
.qbook .hd small{display:block;margin-top:2px;color:#dbe8ff}
.qbook .hd .free{position:absolute;right:14px;top:14px;z-index:1;font-size:11px;font-weight:var(--fw-semi);letter-spacing:.06em;text-transform:uppercase;background:#fff;color:var(--mint-d,#077a5f);padding:4px 9px;border-radius:var(--r-s);box-shadow:0 2px 6px rgba(0,0,0,.12)}
.qbook .bd{padding:14px 16px 12px;gap:10px;background:linear-gradient(180deg,#fbfcfe 0%,#fff 100%)}
.qbook .bd .form-grid{gap:10px}
.qbook .bd .form-control{height:42px;font-size:13px;border-radius:var(--r);background:#fff;border-color:#d9e0ea;transition:border-color .15s,box-shadow .15s}
.qbook .bd .form-control:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-s);outline:0}
.qbook .bd .inp-i > i{left:13px;font-size:17px;color:var(--blue)}
.qbook .bd .inp-i:not(.no-ic) .form-control{padding-left:38px}
.qbook .bd .choice-group{border-radius:var(--r)}
.qbook .bd .btn,.qbook .bd button[type=submit]{height:46px;font-size:15px;font-weight:var(--fw-semi);border-radius:var(--r);box-shadow:0 6px 16px rgba(31,98,214,.28)}
.qbook .bd .btn:hover,.qbook .bd button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(31,98,214,.34)}
.qbook .note{font-size:11px;align-items:center}
.qbook .qb-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:2px;padding-top:10px;border-top:1px dashed var(--line)}
.qbook .qb-trust span{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;font-size:11px;font-weight:var(--fw-semi);color:var(--ink-2);line-height:1.25}
.qbook .qb-trust i{font-size:18px}
.qbook .qb-trust .a i{color:var(--mint)}.qbook .qb-trust .b i{color:var(--blue)}.qbook .qb-trust .c i{color:var(--orange)}
.hero{background:linear-gradient(180deg,#f6f9fd 0%,#fff 70%)}
@media (max-width:760px){.qbook{border-radius:var(--r)}.qbook .hd{padding:14px}.qbook .hd .free{top:12px;right:12px}.qbook .bd{padding:12px 12px 10px}}

/* Hero trang chủ: khối chữ bên trái canh giữa theo chiều dọc so với khung đặt hẹn */
.hero .wrap{align-items:center}
/* Đồng hồ đếm ngược: nhãn Ngày/Giờ/Phút/Giây mảnh, chữ số màu xanh thay vì đen */
.cd .u small{font-weight:var(--fw-normal);font-size:11px;color:var(--ink-3)}
.cd .dg{color:#1f62d6}
.cd .sep{color:#8fb0e6}
.cd.urgent .dg{color:var(--rose)}

/* Hộp "Cần khám hoặc tư vấn?" ở thanh bên bài viết */
.side-cta .bh h2{font-size:14px}
.cta-b{padding:12px 14px 14px;display:grid;gap:10px}
.cta-main{justify-content:center;width:100%}
.cta-rows{display:grid;gap:7px}
.cta-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);font-weight:var(--fw-semi);font-size:13px;text-decoration:none;transition:border-color .15s,background .15s}
.cta-row:hover{border-color:#bcd0f3;background:#f6f9fe}
.cta-row .ci{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:15px}
.cta-row .ct{flex:1;min-width:0}
.cta-row .cr{flex:none;font-size:12px;color:var(--ink-4)}
.cta-row.cta-vc{background:linear-gradient(90deg,#fff6ec,#fffaf4);border-color:#f6d9b8;color:#b45a0b}
.cta-row.cta-vc:hover{border-color:#ef7d1a}

/* Bảng giá — khối Super VIP: quyền lợi dạng danh sách có icon, chia nhiều cột (không khung thẻ); khung giá bên phải có nền nhẹ kiểu khung đăng nhập */
section.superbox .sb-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 28px;padding-top:6px;border-top:1px dashed #d9cff8}
section.superbox .sb-list li{background:none;border:0;border-radius:0;padding:9px 2px;align-items:center;gap:11px;font-size:13px;line-height:1.45;border-bottom:1px solid #ebe5fb}
section.superbox .sb-list li i{flex:none;width:30px;height:30px;margin:0;border-radius:50%;display:grid;place-items:center;font-size:16px;background:#ece7ff;color:#5136b3}
section.superbox .sb-list li span{min-width:0}
/* hình nền nhẹ góc trái dưới của CẢ khối Super VIP (khung giá bên phải giữ nền trắng như cũ) */
section.superbox{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240' fill='none' stroke='%236b4fd8' stroke-opacity='.085' stroke-width='11' stroke-linejoin='round' stroke-linecap='round'%3E%3Ccircle cx='110' cy='130' r='96' stroke='%236b4fd8' stroke-opacity='.08' stroke-width='14'/%3E%3Cpath d='M52 168l-10-70 42 34 36-52 36 52 42-34-10 70z'/%3E%3Cpath d='M52 190h144'/%3E%3C/svg%3E") left -34px bottom -48px/300px 300px no-repeat,radial-gradient(circle at 0% 100%,#cdf0e3 0,transparent 34%),radial-gradient(circle at 14% 118%,#d6e5fc 0,transparent 36%),radial-gradient(circle at 100% 0%,#ece7ff 0,transparent 40%),linear-gradient(120deg,#f7f4ff 0%,#fff 55%,#efeaff 140%)}
@media (max-width:960px){section.superbox{background-size:220px 220px,auto,auto,auto,auto}}
/* Đặt hẹn nhanh: danh sách gợi ý nha khoa phải tràn ra ngoài thẻ, không bị cắt */
.qbook.qbook{overflow:visible}
.qbook .hd{border-radius:var(--r) var(--r) 0 0}
.qbook .bd .qb-clinic > i{top:21px}

/* Mục lục nổi của bài viết (p-toc.js): nút tròn có viền chạy theo tiến độ đọc ở mép bài; rê chuột vào để xổ danh sách mục */
.tocd{position:fixed;left:var(--tl,10px);top:50%;transform:translateY(-50%);z-index:55}
.tocd[hidden]{display:none}
.tocd-b{position:relative;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--ink-2);display:grid;place-items:center;font-size:20px;cursor:pointer;box-shadow:0 4px 14px rgba(20,33,61,.18),0 0 0 1px var(--line)}
.tocd-b svg{position:absolute;inset:1px;width:44px;height:44px;transform:rotate(-90deg)}
.tocd-b circle{fill:none;stroke-width:3}
.tocd-b .tr{stroke:var(--line-2,#eef1f4)}
.tocd-b .pg{stroke:var(--mint);stroke-linecap:round;transition:stroke-dashoffset .15s linear}
.tocd-b:hover,.tocd.open .tocd-b{color:var(--mint)}
.tocd-p{position:absolute;left:54px;top:50%;width:300px;max-height:min(70vh,520px);display:none;flex-direction:column;transform:translateY(-50%);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 32px -8px rgba(20,33,61,.3);overflow:hidden}
.tocd.open .tocd-p{display:flex;animation:tocdIn .14s ease-out}
@keyframes tocdIn{from{opacity:0;transform:translateY(-50%) translateX(-6px)}to{opacity:1;transform:translateY(-50%)}}
.tocd-p::before{content:"";position:absolute;left:-14px;top:0;bottom:0;width:14px} /* cầu nối để rê chuột từ nút sang bảng không bị tắt */
.tocd-h{display:flex;align-items:baseline;gap:8px;padding:10px 14px;background:linear-gradient(90deg,#eef5ff,#f7fbfa);border-bottom:1px solid var(--line)}
.tocd-h b{font-size:13px}
.tocd-h small{margin-left:auto;font-size:11px;font-weight:var(--fw-semi);color:var(--mint-d)}
.tocd-p ol{margin:0;padding:6px 0;list-style:none;overflow:auto;overscroll-behavior:contain}
.tocd-p a{display:block;padding:7px 14px 7px 12px;border-left:3px solid transparent;font-size:13px;line-height:1.4;color:var(--ink-2)}
.tocd-p a:hover{background:var(--bg-2);color:var(--blue)}
.tocd-p a.on{border-left-color:var(--mint);background:var(--mint-s);color:var(--mint-d);font-weight:var(--fw-semi)}
@media (max-width:760px){
  .tocd{left:10px;top:auto;bottom:84px;transform:none}
  .tocd-b{width:42px;height:42px;font-size:18px}
  .tocd-b svg{width:40px;height:40px}
  .tocd-p{position:fixed;left:10px;right:10px;bottom:136px;top:auto;width:auto;max-height:55vh;transform:none}
  .tocd.open .tocd-p{animation:none}
  .tocd-p::before{display:none}
}
@media (prefers-reduced-motion:reduce){.tocd.open .tocd-p{animation:none}.tocd-b .pg{transition:none}}

/* Thao tác tại chỗ (p-ajax.js): vùng đang xử lý mờ nhẹ + thông báo nhỏ */
.ajax-busy{opacity:.55;pointer-events:none;transition:opacity .12s}
.ajax-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,10px);z-index:120;max-width:calc(100vw - 32px);padding:10px 16px;border-radius:var(--r);background:var(--ink);color:#fff;font-size:13px;font-weight:var(--fw-semi);box-shadow:0 10px 28px -8px rgba(20,33,61,.5);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.ajax-toast.on{opacity:1;transform:translate(-50%,0)}

/* Nút Đặt hẹn trong khung nha khoa của bài review/bảng giá: giữ xanh bạc hà + chữ trắng (không theo màu mục tin tức) */
body[data-sec] main .inclinic .btn-mint{background:var(--mint);border-color:var(--mint);color:#fff!important}
body[data-sec] main .inclinic .btn-mint:hover{background:var(--mint-d);border-color:var(--mint-d)}

/* Bảng giá: khối Super VIP một tông tím (kể cả chữ nhỏ phía trên tiêu đề) */
section.superbox .eyebrow{color:#5136b3!important}
body[data-sec] main a.btn-mint[href*="#datHen"]{background:var(--mint)!important;border-color:var(--mint)!important;color:#fff!important}

/* Trang chủ: khối "Review phòng khám" (chỉ bài chuyên mục Review) */
.rvh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rvh-c{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .15s,border-color .15s}
.rvh-c:hover{border-color:#f1cfa8;box-shadow:0 12px 24px -18px rgba(239,125,26,.7)}
.rvh-im{position:relative;display:grid;place-items:center;aspect-ratio:3/2;background:linear-gradient(135deg,#fdefe1,#fbd9b4);color:var(--orange);font-size:38px;overflow:hidden}
.rvh-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rvh-sc{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:baseline;gap:1px;padding:4px 10px;border-radius:999px;background:rgba(20,33,61,.86);color:#fff;font-size:11px;font-weight:var(--fw-semi);backdrop-filter:blur(4px)}
.rvh-sc b{font-size:15px;font-weight:var(--fw-semi);color:#ffd58a;letter-spacing:-.3px}
.rvh-bd{display:flex;flex-direction:column;gap:7px;padding:12px 14px 14px;flex:1}
.rvh-tg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px}
.rvh-tg .cat{display:inline-flex;gap:4px;align-items:center;font-weight:var(--fw-semi);letter-spacing:.05em;text-transform:uppercase}
.rvh-sp{padding:1px 8px;border-radius:999px;background:var(--bg-3);color:var(--ink-3);font-weight:var(--fw-semi)}
.rvh-c h3{margin:0;font-size:15px;line-height:1.4;letter-spacing:-.2px;font-weight:var(--fw-semi);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance}
.rvh-c h3 a:hover{color:var(--orange)}
.rvh-ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:9px;border-top:1px solid var(--line-2);font-size:12px;color:var(--ink-3)}
.rvh-cl{display:inline-flex;gap:5px;align-items:center;min-width:0;font-weight:var(--fw-semi);color:var(--ink-2)}
.rvh-cl i{flex:none;color:var(--mint)}
.rvh-ft>span{flex:none}
@media (max-width:960px){.rvh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rvh-c:nth-child(n+5){display:none}}
@media (max-width:640px){.rvh-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;margin-right:calc(var(--gut,16px)*-1);padding-right:var(--gut,16px);scrollbar-width:none}.rvh-grid::-webkit-scrollbar{display:none}.rvh-c{flex:0 0 78%;scroll-snap-align:start}.rvh-c:nth-child(n+5){display:flex}}

/* Bài viết (Tin tức · Review · Tư vấn): nội dung trong khung trắng, nhận xét bên dưới cũng khung trắng */
.p-post .apaper{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 32px;margin-top:14px;box-shadow:0 1px 2px rgba(20,33,61,.04)}
.p-post .apaper>.prose{max-width:80ch}
.p-post .apaper>.prose>:first-child{margin-top:0}
.p-post .apaper>*+*{margin-top:18px}
.p-post .apaper>.prose+*{margin-top:24px}
.p-post .abody .cmts{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 28px 24px;margin-top:16px;box-shadow:0 1px 2px rgba(20,33,61,.04)}
.p-post .abody .cmts>h2{margin-top:0}
@media (max-width:760px){
  .p-post .apaper{padding:18px 16px;border-radius:var(--r)}
  .p-post .abody .cmts{padding:16px 14px 18px}
}

/* Flash Sale: MỘT tỉ lệ khối ảnh dọc 3:5 ở mọi nơi (trang chủ, trang Voucher, hồ sơ nha khoa); banner nha khoa tải lên phủ kín khối */
.fs .bn,.fsv .bn,.fsrow .bn{aspect-ratio:3/5!important;height:auto!important}
.fsrow{grid-template-columns:150px minmax(0,1fr)}
.fs .bn.has-img{background:#eef2f6}
.fs .bn .bimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fs .bn.has-img::after{content:"";position:absolute;left:0;right:0;top:0;height:36%;background:linear-gradient(180deg,rgba(20,33,61,.34),transparent);pointer-events:none;z-index:1}
@media (max-width:960px){.fsrow{grid-template-columns:132px minmax(0,1fr)}}
.fsv{grid-template-columns:repeat(6,minmax(0,1fr))}
.fs{min-width:0}
@media (max-width:960px){.fsv{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Hồ sơ nha khoa — khối "Flash Sale & voucher" gọn: Flash Sale hiện mờ, chìm, báo chỉ dùng trên app (trang chủ / trang Voucher vẫn hiển thị bình thường) */
#uudai .uhint{margin:0 0 8px;font-size:12px;color:var(--ink-3);display:flex;gap:6px;align-items:flex-start;line-height:1.5}
#uudai .uhint i{color:var(--blue);flex:none;margin-top:2px}
.fsrow-off{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px 12px;align-items:center;margin:0 0 10px;padding:12px;border:1px dashed var(--line);border-radius:var(--r);background:var(--bg-2)}
.fsrow-off .fs{opacity:.26;filter:grayscale(1) blur(.5px)}
.fsrow-off .fs .lgo{width:28px;height:28px;font-size:11px;left:5px;top:5px}
.fsrow-off .fs .lbl{display:none}
.fsrow-off .fo-in{display:grid;gap:6px;min-width:0;opacity:.5;filter:grayscale(.6)}
.fsrow-off .fo-tag{display:inline-flex;gap:5px;align-items:center;width:fit-content;padding:2px 9px;border-radius:999px;background:#e3e8ee;color:var(--ink-3);font-size:11px;font-weight:var(--fw-semi);letter-spacing:.03em}
.fsrow-off h3{margin:0;font-size:14px;line-height:1.4;font-weight:var(--fw-semi);color:var(--ink-2)}
.fsrow-off .fo-cd .cd{transform:scale(.8);transform-origin:left center}
.fsrow-off .fo-app{grid-column:1/-1;display:grid;gap:6px;justify-items:center;text-align:center;padding-top:10px;border-top:1px dashed var(--line)}
.fsrow-off .fo-app b{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--orange)}
.fsrow-off .fo-app span{font-size:12px;line-height:1.5;color:var(--ink-3);max-width:46ch}
.fsrow-off .fo-app .btn{justify-self:center;min-width:170px;justify-content:center}
@media (max-width:560px){.fsrow-off{grid-template-columns:64px minmax(0,1fr);padding:10px}}

/* Cuối trang Nha khoa / Nha sĩ: đánh giá mới nhất · trả lời mới · bài viết mới của nha sĩ (dữ liệu thật) */
.ltx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ltx-c{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);min-width:0}
.ltx-c p{margin:0;font-size:13px;line-height:1.65;color:var(--ink-2)}
.ltx-h{display:flex;gap:10px;align-items:center}
.ltx-h>div{min-width:0;flex:1}
.ltx-h b{display:block;font-size:13px;color:var(--ink)}
.ltx-h small{display:block;font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ltx-av{flex:none;width:34px;height:34px;border-radius:10px;background:#fff4d9;color:#b7791f;display:grid;place-items:center;font-size:12px;font-weight:var(--fw-semi)}
.ltx-st{flex:none;display:inline-flex;gap:1px;font-size:13px;color:#e89f00}
.ltx-st .off{color:#e1e5ea}
.ltx-reply{display:flex;gap:7px;padding:8px 10px;border-radius:var(--r-s);background:var(--bg-2);font-size:12px;line-height:1.5;color:var(--ink-2)}
.ltx-reply i{flex:none;color:var(--mint);margin-top:2px}
.ltx-to{display:inline-flex;gap:6px;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--line-2);font-size:13px;font-weight:var(--fw-semi);color:var(--blue)}
.ltx-to i{color:var(--mint)}
.ltx-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.ltx-list{display:grid;gap:10px}
.ltx-q{font-size:14px;font-weight:var(--fw-semi);line-height:1.4;color:var(--ink)}
.ltx-q:hover{color:var(--blue)}
.ltx-by{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-3)}
.ltx-by i{color:var(--mint)}
.ltx-by a{font-weight:var(--fw-semi);color:var(--ink-2)}
@media (max-width:960px){.ltx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ltx-grid .ltx-c:nth-child(n+5){display:none}}
@media (max-width:760px){.ltx-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.ltx-grid{grid-template-columns:minmax(0,1fr)}.ltx-grid .ltx-c:nth-child(n+4){display:none}}
#ungtuyen{scroll-margin-top:96px}
#ungtuyen.lockline:target{border-color:var(--orange);background:#fff6e8}

/* Tài khoản → E-Voucher đã mua */
.evc{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.evc.out{opacity:.72}
.evc-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.evc-h b{font-size:14px;line-height:1.45;color:var(--ink)}
.evc-m{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink-3)}
.evc-m span,.evc-m a{display:inline-flex;gap:5px;align-items:center}
.evc-m i{color:var(--orange)}
.evc-c{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r-s);background:var(--mint-s);border:1px dashed #9fdcc8;font-size:13px;color:var(--ink-2)}
.evc-c code{font-size:17px;font-weight:var(--fw-semi);letter-spacing:.08em;color:var(--mint-d,#0c9c79)}
.evc-c.done{background:var(--bg-2);border-color:var(--line)}
.evc-c.done code{color:var(--ink-3)}

/* Hồ sơ nha khoa — Flash Sale chìm: lời nhắc "chỉ dùng trên app" + nút Tải ứng dụng ĐÈ LÊN hàng mờ (tiết kiệm chỗ) */
.fsrow-off{position:relative;min-height:156px;overflow:hidden}
.fsrow-off .fs{opacity:.16}
.fsrow-off .fo-in{opacity:.24}
.fsrow-off .fo-app{position:absolute;inset:0;z-index:2;display:grid;gap:5px;place-content:center;justify-items:center;padding:10px 16px;border:0;background:rgba(246,248,250,.74)}
.fsrow-off .fo-app span{max-width:52ch}
@media (max-width:560px){.fsrow-off{min-height:176px}.fsrow-off .fo-app{padding:10px 12px}.fsrow-off .fo-app span{font-size:11px}}

.evc-act{display:grid;gap:8px}
.evc-act form{margin:0}
.evc-pb{display:flex;gap:6px}
.evc-pb input{flex:1;min-width:0;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-s);font:inherit;font-size:13px}

/* Nút tim (thích) */
.heart{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-3);font:inherit;font-size:12px;font-weight:var(--fw-semi);cursor:pointer;transition:color .15s,border-color .15s,background .15s,transform .15s}
.heart i{font-size:14px;color:#c8ced8;transition:color .15s,transform .15s}
.heart:hover{border-color:#f3b4c4;color:#d6456b}
.heart:hover i{color:#f08aa5}
.heart.on{border-color:#f3b4c4;background:#fff0f4;color:#d6456b}
.heart.on i{color:#e8456f;transform:scale(1.12)}
.heart .hn:empty{display:none}
.heart:active{transform:scale(.96)}
.heart:disabled{opacity:.7;cursor:progress}
@media (max-width:560px){.heart .hlb{display:none}.heart{padding:0 9px}}
@media (prefers-reduced-motion:reduce){.heart,.heart i{transition:none}}

.ltx-grid-sp{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.ltx-grid-sp{grid-template-columns:minmax(0,1fr)}}
.vote-heart{margin-top:6px}
.cm-heart{margin-top:6px}
.rv-act{margin-top:7px}
.reply .rv-act{margin-top:6px}
.rv-for{display:inline-flex;gap:5px;align-items:center;margin-top:4px;font-size:12px;color:var(--ink-3)}
.rv-for a{font-weight:var(--fw-semi);color:var(--blue)}
.qa .ft .heart{height:24px;padding:0 8px}

.ltx-posts{margin-bottom:22px}
.ltx-strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.ltx-strip::-webkit-scrollbar{display:none}
.ltx-strip .ltx-c{flex:0 0 min(300px,80%);scroll-snap-align:start}

/* Lưới bài viết có thumbnail trên hồ sơ + dải cuối trang Nha sĩ */
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.ppc{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:inherit;text-decoration:none}
.ppc:hover{border-color:var(--mint)}
.ppc-th{display:grid;place-items:center;aspect-ratio:3/2;background:var(--mint-s);color:var(--mint);font-size:30px;overflow:hidden}
.ppc-th img{width:100%;height:100%;object-fit:cover;display:block}
.ppc-b{display:flex;flex-direction:column;gap:5px;padding:10px 12px 12px;min-width:0}
.ppc-cat{font-size:11px;font-weight:var(--fw-semi);color:var(--blue);text-transform:none}
.ppc-b b{font-size:13px;line-height:1.4;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ppc-b small{font-size:12px;line-height:1.5;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ppc-b em{font-style:normal;font-size:11px;color:var(--ink-3)}
.ltx-strip .ppc{flex:0 0 min(250px,78%);scroll-snap-align:start}
.pp-foot{display:flex;justify-content:center;margin-top:14px}
.pp-foot .busy{opacity:.6}
@media (max-width:640px){.pp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
/* Bộ đếm tim / lưu / cấp đóng góp của nha sĩ */
.dstat{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px}
.dstat .ds{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:99px;background:var(--bg-3);font-size:13px;color:var(--ink-2)}
.dstat .ds b{color:var(--ink);font-weight:var(--fw-semi)}
.dstat .lv{font-weight:var(--fw-semi)}
.dstat .lv-bac{background:#eef1f6;color:#5b6b82}
.dstat .lv-vang{background:#fff4d9;color:#b7791f}
.dstat .lv-kc{background:#e4f3ff;color:#1f62d6}
.dstat .lv-moi{background:var(--bg-3);color:var(--ink-3)}
.dprog{width:90px;height:6px;border-radius:99px;background:var(--bg-3);overflow:hidden;display:inline-block}
.dprog i{display:block;height:100%;background:var(--mint);border-radius:inherit}
.dnext{font-size:11px;color:var(--ink-3)}

.mapv .mi.on{background:var(--blue-s);box-shadow:inset 3px 0 0 var(--blue)}
.mpop{font-weight:var(--fw-semi);color:var(--blue)}

/* ===== Nha khoa SUPER VIP ghim trên cùng: không viền, thẻ ngang nhiều thông tin ===== */
.pin-super{border:0;box-shadow:none;padding:14px 14px 10px}
.pin-cp{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:repeat(auto-fill,minmax(min(100%,268px),330px));justify-content:start;overflow:visible;padding:0;gap:14px}
article.cp{display:flex;flex-direction:column;background:#fff;border:0;border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(20,33,61,.06),0 6px 18px -10px rgba(81,54,179,.35);position:relative}
.cp-img{position:relative;display:block;aspect-ratio:var(--ar-cover);height:auto;flex:none;background:linear-gradient(135deg,#d9d0fb,#eee9ff)}
.cp-img .cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cp-img .ph{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:54px;color:rgba(81,54,179,.25)}
.cp-badge{position:absolute;left:8px;top:8px}
.cp-ph{position:absolute;right:8px;bottom:8px;display:inline-flex;gap:4px;align-items:center;background:rgba(20,33,61,.7);color:#fff;font-size:11px;font-weight:var(--fw-semi);border-radius:6px;padding:3px 7px}
.cp-bd{padding:12px;min-width:0;display:flex;flex-direction:column;gap:8px;flex:1}
.cp-hd{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start}
.cp-lg{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:var(--fw-semi);overflow:hidden;border:1px solid var(--line);flex:none}
.cp-lg img{width:100%;height:100%;object-fit:cover;display:block}
.cp-id{min-width:0;display:flex;flex-direction:column;gap:2px}
.cp-nm{display:flex;align-items:center;gap:6px;font-weight:var(--fw-semi);font-size:15px;letter-spacing:-.2px;min-width:0}
.cp-nm a{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .cp-nm i{color:var(--mint);font-size:16px;flex:none} .cp-nm .bdg{flex:none}
.cp-ad{font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-ad i{color:var(--rose);margin-right:3px}
.cp-mt{display:flex;flex-wrap:nowrap;gap:4px 12px;font-size:12px;color:var(--ink-2);overflow-x:auto;overflow-y:hidden;min-width:0}
.cp-mt span{display:inline-flex;gap:4px;align-items:center;flex:none;white-space:nowrap}
.cp-mt .rate b{color:var(--ink)} .cp-mt .rate i{color:#f5a623} .cp-mt .open{color:var(--mint-d);font-weight:var(--fw-semi)}
.cp-sm{margin:0;font-size:12px;line-height:1.5;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
article.cp .tgs{margin:0}
.cp-deal{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:var(--fw-semi);color:#8a4300;background:#fff4e5;border-radius:6px;padding:5px 8px;min-width:0}
.cp-deal i{flex:none}
.cp-deal span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-ft{display:flex;flex-wrap:nowrap;gap:8px;margin-top:auto;padding-top:2px;align-items:center}
.cp-ft .btn{flex:1 1 auto;justify-content:center;min-width:0}
.cp-ib{flex:none;width:var(--h-ctl);height:var(--h-ctl);display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:0;cursor:pointer;font-size:18px;color:var(--ink-3)}
.cp-ib:hover{border-color:var(--ink-4)}
.cp-ib form{display:contents} .cp-ib .ibtn{width:100%;height:100%;display:grid;place-items:center;background:none;border:0;padding:0;font-size:18px}
@media (max-width:760px){
  .pin-super{padding:10px 10px 6px}
  .pin-cp{grid-template-columns:minmax(0,1fr);gap:10px}
  .cp-ib{width:40px;height:40px}
  .cp-ft .btn{min-height:40px}
  .cp-nm{font-size:14px}
}
