/* ttpjsc.com — giao diện trang công khai */
:root{
  --chinh:#12395F;        /* xanh navy: tin cậy, doanh nghiệp */
  --chinh-dam:#0C2740;
  --nhan:#C8922F;         /* vàng đồng: điểm nhấn */
  --nen:#FBFAF7;
  --nen-2:#F3F1EB;
  --chu:#1B1D21;
  --chu-mo:#5F6470;
  --vien:#E4E1D8;
  --trang:#FFFFFF;
  --bong:0 1px 2px rgba(18,57,95,.06), 0 8px 24px rgba(18,57,95,.06);
  --r:10px;
  --rong:1140px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--nen);color:var(--chu);
  font:16px/1.7 "Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
img{max-width:100%;height:auto}
a{color:var(--chinh);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;color:var(--chinh-dam);font-weight:700;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,4.4vw,2.9rem);letter-spacing:-.01em}
h2{font-size:clamp(1.35rem,2.6vw,1.75rem);margin-top:1.8em}
h3{font-size:1.12rem;margin-top:1.5em}
p{margin:0 0 1.1em}
.khung{max-width:var(--rong);margin:0 auto;padding:0 20px}

/* ---------- thanh đầu ---------- */
.dau{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--vien)}
.dau .khung{display:flex;align-items:center;gap:22px;min-height:74px}
.hieu{display:flex;align-items:center;gap:11px;flex-shrink:0}
.hieu img{height:34px;width:auto;display:block}
.hieu img.loc-trang{filter:brightness(0) invert(1)}   /* v253: logo công ty (màu) trên nền tối chân trang */
/* v115 — logo mẫu A + tên thương hiệu (bố cục logo ngang: tên navy đậm giãn chữ, dòng phụ vàng đồng) */
.hieu{text-decoration:none}
.hieu:hover{text-decoration:none}
.hieu-chu{display:flex;flex-direction:column;line-height:1.1}
.hieu-chu b{color:var(--chinh-dam,#12395F);font-size:1.02rem;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.hieu-chu small{color:#B8862B;font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-top:3px;white-space:nowrap}
.chan .hieu-chu b{color:#FFFFFF}
.chan .hieu-chu small{color:#E3B15A}
@media (max-width:640px){ .hieu-chu small{display:none} .hieu-chu b{font-size:.9rem} }
.hieu:hover{text-decoration:none}
.menu-tren{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.menu-tren a{
  padding:9px 13px;border-radius:7px;color:var(--chu);font-size:.95rem;font-weight:500;
}
.menu-tren a:hover{background:var(--nen-2);text-decoration:none}
.menu-tren a.dang{color:var(--chinh);background:var(--nen-2)}
.nut-menu{display:none;margin-left:auto;background:none;border:1px solid var(--vien);border-radius:8px;padding:9px 12px;font-size:1rem;cursor:pointer;color:var(--chinh)}

/* ---------- nút ---------- */
.nut{
  display:inline-block;padding:12px 24px;border-radius:8px;font-weight:600;font-size:.97rem;
  background:var(--chinh);color:#fff;border:1px solid var(--chinh);cursor:pointer;
}
.nut:hover{background:var(--chinh-dam);border-color:var(--chinh-dam);text-decoration:none;color:#fff}
.nut.vien{background:transparent;color:var(--chinh)}
.nut.vien:hover{background:var(--chinh);color:#fff}
.nut.nho{padding:8px 15px;font-size:.88rem}

/* ---------- trang chủ ---------- */
.banner{background:linear-gradient(160deg,var(--chinh-dam) 0%,var(--chinh) 58%,#1B4C7D 100%);color:#fff;padding:78px 0 86px}
.banner h1{color:#fff;max-width:20ch}
.banner .dat{color:var(--nhan);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;margin-bottom:18px}
.banner p{color:#D5E0EC;font-size:1.1rem;max-width:62ch}
.banner .cac-nut{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}
.banner .nut{background:var(--nhan);border-color:var(--nhan);color:#23200F}
.banner .nut:hover{background:#B07F24;border-color:#B07F24;color:#fff}
.banner .nut.vien{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.banner .nut.vien:hover{background:rgba(255,255,255,.12)}

.muc{padding:66px 0}
.muc.xam{background:var(--nen-2)}
.tieu-muc{text-align:center;max-width:70ch;margin:0 auto 42px}
.tieu-muc h2{margin-top:0}
.tieu-muc p{color:var(--chu-mo)}

.luoi-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:22px}
.the{
  background:var(--trang);border:1px solid var(--vien);border-radius:var(--r);padding:28px 26px 26px;
  box-shadow:var(--bong);display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.the::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--mau,var(--nhan))}
.the h3{margin:0 0 8px;font-size:1.28rem}
.the .cham{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mau,var(--nhan));font-weight:700;margin-bottom:12px}
.the p{color:var(--chu-mo);flex:1}
.the .xem{font-weight:600;font-size:.94rem}

.so-luoi{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;text-align:center}
.so-luoi .o{padding:22px 14px;background:var(--trang);border:1px solid var(--vien);border-radius:var(--r)}
.so-luoi b{display:block;font-size:1.9rem;color:var(--chinh);line-height:1.2}
.so-luoi span{color:var(--chu-mo);font-size:.92rem}

.goi{background:var(--chinh-dam);color:#fff;padding:54px 0;text-align:center}
.goi h2{color:#fff;margin-top:0}
.goi p{color:#C6D3E1;max-width:60ch;margin:0 auto 26px}

/* ---------- trang con: menu trái ---------- */
.duong-dan{font-size:.88rem;color:var(--chu-mo);padding:18px 0 0}
.duong-dan a{color:var(--chu-mo)}
.bo-cuc{display:grid;grid-template-columns:262px 1fr;gap:42px;padding:26px 0 70px;align-items:start}
.menu-trai{position:sticky;top:96px;background:var(--trang);border:1px solid var(--vien);border-radius:var(--r);padding:10px;box-shadow:var(--bong)}
.menu-trai .ten{padding:12px 14px 12px;border-bottom:1px solid var(--vien);margin-bottom:8px}
.menu-trai .ten b{display:block;color:var(--chinh-dam);font-size:1.02rem}
.menu-trai .ten span{font-size:.82rem;color:var(--chu-mo)}
.menu-trai a{display:block;padding:10px 14px;border-radius:7px;color:var(--chu);font-size:.95rem;border-left:3px solid transparent}
.menu-trai a:hover{background:var(--nen-2);text-decoration:none}
.menu-trai a.dang{background:var(--nen-2);border-left-color:var(--mau,var(--nhan));color:var(--chinh);font-weight:600}

.noi-dung{background:var(--trang);border:1px solid var(--vien);border-radius:var(--r);padding:38px 42px;box-shadow:var(--bong);min-width:0}
.noi-dung h1{margin-top:0}
.noi-dung h2:first-of-type{margin-top:.4em}
.noi-dung ul,.noi-dung ol{padding-left:1.3em;margin:0 0 1.1em}
.noi-dung li{margin-bottom:.5em}
.noi-dung blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--nhan);color:var(--chu-mo)}
.noi-dung table{width:100%;border-collapse:collapse;margin:1.2em 0}
.noi-dung th,.noi-dung td{border:1px solid var(--vien);padding:9px 12px;text-align:left}
.noi-dung th{background:var(--nen-2)}
.tom-tat{color:var(--chu-mo);font-size:1.06rem;border-bottom:1px solid var(--vien);padding-bottom:20px;margin-bottom:8px}

/* ---------- biểu mẫu ---------- */
.o-form{background:var(--trang);border:1px solid var(--vien);border-radius:var(--r);padding:32px;box-shadow:var(--bong)}
label{display:block;font-weight:600;font-size:.9rem;margin:0 0 6px;color:var(--chinh-dam)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea{
  width:100%;padding:11px 13px;border:1px solid var(--vien);border-radius:8px;font:inherit;background:#fff;color:var(--chu);
}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(18,57,95,.35);outline-offset:1px;border-color:var(--chinh)}
textarea{min-height:130px;resize:vertical}
.hang-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.truong{margin-bottom:16px}
.an{position:absolute;left:-9999px}
.bao{padding:13px 16px;border-radius:8px;margin-bottom:18px;font-size:.95rem}
.bao.ok{background:#E8F3EC;border:1px solid #BBD9C6;color:#1E5233}
.bao.loi{background:#FCECEC;border:1px solid #F0C4C4;color:#8A2B2B}

/* ---------- chân trang ---------- */
.chan{background:var(--chinh-dam);color:#AEC0D2;padding:52px 0 26px;margin-top:0;font-size:.93rem}
.chan h4{color:#fff;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.chan a{color:#AEC0D2}
.chan a:hover{color:#fff}
.chan .luoi{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:38px}
.chan .hieu img{height:30px}
.chan ul{list-style:none;padding:0;margin:0}
.chan li{margin-bottom:8px}
.chan .day{border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.86rem;color:#8AA0B8}

@media (max-width:900px){
  .bo-cuc{grid-template-columns:1fr;gap:20px}
  .menu-trai{position:static}
  .chan .luoi{grid-template-columns:1fr;gap:26px}
  .noi-dung{padding:26px 20px}
}
@media (max-width:760px){
  .menu-tren{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--vien);flex-direction:column;padding:10px;gap:2px}
  .menu-tren.mo{display:flex}
  .nut-menu{display:block}
  .hang-form{grid-template-columns:1fr}
  .banner{padding:52px 0 58px}
}

/* nút chọn ngôn ngữ trên thanh đầu */
.doi-tieng{display:inline-flex;align-items:center;gap:2px;margin-left:10px;padding-left:12px;
  border-left:1px solid var(--vien)}
.doi-tieng a{padding:6px 9px;border-radius:6px;font-size:.82rem;font-weight:700;letter-spacing:.04em;
  color:var(--chu-mo)}
.doi-tieng a:hover{background:var(--nen-2);text-decoration:none;color:var(--chinh)}
.doi-tieng a.dang{background:var(--chinh);color:#fff}
@media (max-width:760px){
  .doi-tieng{margin:6px 0 0;padding:8px 0 0;border-left:none;border-top:1px solid var(--vien);width:100%}
}


/* ==========================================================================
   03/10/2026 — VÒNG LÀM ĐẸP WEBSITE, HƯỚNG KHÁCH HÀNG (ông chủ giao)
   ========================================================================== */

/* ---- banner hai cột: chữ trái, hình ba mảng phải ---- */
.banner{position:relative;overflow:hidden;padding:64px 0 70px}
.banner-luoi{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.banner-luoi.mot-cot{grid-template-columns:minmax(0,1fr)}   /* v253: bản không có hình đầu trang */
.banner-hinh img{display:block;width:100%;max-width:560px;margin-left:auto;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.25));animation:noi-len .9s ease-out both}
@keyframes noi-len{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){ .banner-hinh img{animation:none} }
@media (max-width:900px){
  .banner-luoi{grid-template-columns:1fr;gap:10px}
  .banner-hinh{order:-1}
  .banner-hinh img{max-width:340px;margin:0 auto}
}

/* ---- thanh đầu: "Liên hệ" là NÚT, không phải chữ ---- */
.menu-tren a.muc-lien-he{background:var(--nhan);color:#23200F;font-weight:600;margin-left:6px}
.menu-tren a.muc-lien-he:hover,.menu-tren a.muc-lien-he.dang{background:#B07F24;color:#fff}
@media (max-width:760px){ .menu-tren a.muc-lien-he{margin:6px 0 0;text-align:center} }

/* ---- thẻ ba mảng: biểu tượng + nổi lên khi rê chuột ---- */
.the{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
a.the:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(18,57,95,.06),0 18px 40px rgba(18,57,95,.12);
  border-color:var(--mau,var(--nhan));text-decoration:none}
a.the:hover h3{color:var(--chinh)}
.bieu-mang{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;
  margin-bottom:16px;color:var(--mau,var(--nhan));
  background:color-mix(in srgb,var(--mau,var(--nhan)) 12%,#fff)}
.the .xem{display:inline-flex;align-items:center;gap:4px;margin-top:6px}
a.the:hover .xem{text-decoration:underline}

/* ---- "Cách làm việc": dãy bước nối nhau ---- */
.day-buoc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
  position:relative;counter-reset:none}
.day-buoc::before{content:"";position:absolute;top:27px;left:12.5%;right:12.5%;height:2px;
  background:linear-gradient(90deg,var(--nhan),var(--chinh));opacity:.35}
.day-buoc li{position:relative;text-align:center;padding:0 6px}
.day-buoc b{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 14px;
  border-radius:50%;background:var(--trang);border:2px solid var(--nhan);color:var(--chinh);font-size:1.3rem;
  box-shadow:0 0 0 6px var(--nen)}
.day-buoc li:last-child b{background:var(--chinh);border-color:var(--chinh);color:#fff}
.day-buoc span{color:var(--chu-mo);font-size:.95rem;line-height:1.55;display:block}
@media (max-width:760px){
  .day-buoc{grid-template-columns:1fr;gap:16px}
  .day-buoc::before{top:28px;bottom:28px;left:27px;right:auto;width:2px;height:auto;
    background:linear-gradient(180deg,var(--nhan),var(--chinh))}
  .day-buoc li{display:flex;align-items:center;gap:16px;text-align:left;padding:0}
  .day-buoc b{margin:0;flex-shrink:0}
}

/* ---- khối kêu gọi: đường liên hệ nhanh ---- */
.lien-nhanh{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.lien-nhanh a{color:#E8EEF5;font-weight:600}
.lien-nhanh a:hover{color:#fff}
.lien-nhanh:empty{display:none}

/* ---- nhịp chung: mục thoáng hơn một chút, chữ dễ đọc hơn ---- */
.tieu-muc p{font-size:1.04rem}
.nut{transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.nut:active{transform:translateY(1px)}
a:focus-visible,.nut:focus-visible,button:focus-visible{outline:3px solid rgba(200,146,47,.6);outline-offset:2px}

/* ---- khối kêu gọi tách màu khỏi chân trang ----
   Trước cùng một màu navy đậm nên khối "Bắt đầu một cuộc trao đổi" dính liền chân trang,
   nhìn như một mảng chữ dài. Cho nó nền chuyển màu sáng hơn + đường vàng ngăn cách. */
.goi{background:linear-gradient(160deg,var(--chinh) 0%,#1B4C7D 100%);border-bottom:3px solid var(--nhan)}

/* ---- v120: khung chat website (views/partials/chat-web.ejs) ---- */
.cw{position:fixed;right:20px;bottom:20px;z-index:60;font-size:15px}
.cw[hidden]{display:none}
.cw-nut{width:58px;height:58px;border-radius:50%;border:0;background:var(--chinh);color:#fff;cursor:pointer;box-shadow:0 6px 20px rgba(12,39,64,.28);
  display:flex;align-items:center;justify-content:center;position:relative;margin-left:auto}
.cw-nut:hover{background:var(--chinh-dam)}
.cw.dang-mo .cw-nut{display:none}
.cw-so{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:#D93025;color:#fff;font-size:12px;font-weight:700;
  display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.cw-so[hidden]{display:none}
.cw-hop{width:min(360px,calc(100vw - 24px));height:min(480px,calc(100vh - 110px));background:var(--trang);border:1px solid var(--vien);border-radius:16px;
  box-shadow:0 12px 40px rgba(12,39,64,.22);display:flex;flex-direction:column;overflow:hidden}
.cw-hop[hidden]{display:none}
.cw-dau{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--chinh);color:#fff}
.cw-dau b{color:#fff}
/* v151: nút THU GỌN rõ ràng (chữ + mũi tên), đủ to để bấm trên điện thoại */
.cw-dong{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:13px;
  cursor:pointer;line-height:1;padding:7px 10px 7px 12px;border-radius:99px;min-height:34px}
.cw-dong:hover{background:rgba(255,255,255,.24)}
.cw-tin{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--nen)}
.cw-chao{align-self:flex-start;background:var(--trang);border:1px solid var(--vien);border-radius:14px 14px 14px 4px;padding:9px 12px;max-width:85%}
.cw-mot{display:flex;flex-direction:column;max-width:85%}
.cw-mot.cua-toi{align-self:flex-end;align-items:flex-end}
.cw-mot.cua-ho{align-self:flex-start}
.cw-bong{padding:9px 12px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}
.cua-toi .cw-bong{background:var(--chinh);color:#fff;border-bottom-right-radius:4px}
.cua-ho .cw-bong{background:var(--trang);border:1px solid var(--vien);border-bottom-left-radius:4px}
.cw-meta{font-size:11px;color:var(--chu-mo);margin-top:2px}
.cw-viet{border-top:1px solid var(--vien);padding:10px;display:flex;flex-direction:column;gap:6px;background:var(--trang);margin:0}
.cw-dau-tien{display:flex;gap:6px}
.cw-dau-tien[hidden]{display:none}
.cw-dau-tien input{flex:1;min-width:0;font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--vien);border-radius:8px}
.cw-hang{display:flex;gap:8px;align-items:flex-end}
.cw-hang textarea{flex:1;font:inherit;resize:none;min-height:40px;max-height:120px;padding:9px 12px;border:1px solid var(--vien);border-radius:20px;line-height:1.4}
.cw-gui{width:40px;height:40px;border-radius:50%;border:0;background:var(--chinh);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cw-gui:disabled{opacity:.5}
.cw-loi{font-size:12px;color:#B3261E}
.cw-loi[hidden]{display:none}
.cw-bay{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
/* v151: ô để lại SĐT / Zalo sau câu tự chào */
.cw-lh{display:flex;flex-wrap:wrap;gap:6px;align-self:stretch;margin:2px 0 0;padding:8px;border:1px dashed var(--vien);border-radius:12px;background:var(--trang)}
.cw-lh input{flex:1;min-width:0;font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--vien);border-radius:8px}
.cw-lh button{border:0;border-radius:8px;background:var(--chinh);color:#fff;font:inherit;font-size:13px;font-weight:600;padding:8px 12px;cursor:pointer}
.cw-lh button:disabled{opacity:.6}
.cw-lh .cw-loi{flex-basis:100%}
/* v151: điện thoại — KHÔNG che kín trang (khách phàn nàn): khung cao tối đa ~60% màn hình, vẫn thấy nửa trên của trang */
@media (max-width:600px){ .cw{right:12px;bottom:12px} .cw-hop{width:calc(100vw - 24px);height:min(62vh,460px);height:min(62dvh,460px)} }

/* ---- v120b: danh sách soạn bằng Quill 2 (<ol><li data-list="bullet|ordered">) — gạch đầu dòng hiện dấu chấm, thụt lề theo ql-indent ---- */
.noi-dung li[data-list="bullet"]{list-style-type:disc}
.noi-dung li[data-list="ordered"]{list-style-type:decimal}
.noi-dung li[data-list="checked"],.noi-dung li[data-list="unchecked"]{list-style-type:none}
.noi-dung li[data-list="checked"]::before{content:'☑ '}
.noi-dung li[data-list="unchecked"]::before{content:'☐ '}
.noi-dung li .ql-ui{display:none}
.noi-dung li.ql-indent-1{margin-left:1.5em}.noi-dung li.ql-indent-2{margin-left:3em}.noi-dung li.ql-indent-3{margin-left:4.5em}.noi-dung li.ql-indent-4{margin-left:6em}
.noi-dung li.ql-indent-1[data-list="bullet"]{list-style-type:circle}.noi-dung li.ql-indent-2[data-list="bullet"]{list-style-type:square}

/* ===================== v127 — TRANG GIỚI THIỆU CPLATFORM (views/public/cplatform.ejs) =====================
   "Có sức sống" (định hướng ông chủ): mỗi phân hệ một màu (--m = màu nét biểu tượng phương án A), đầu trang navy chuyển màu,
   ảnh màn hình nghiêng nhẹ có bóng. Chạy tốt trên điện thoại: lưới 4 → 2 cột, chi tiết xen kẽ → xếp chồng. */
.cp-menu-mang{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.cp-menu-mang a{padding:6px 14px;border-radius:99px;border:1px solid var(--vien);background:var(--trang);color:var(--chu);font-size:.9rem}
.cp-menu-mang a:hover{border-color:var(--chinh);text-decoration:none}
.cp-menu-mang a.dang{background:var(--chinh);border-color:var(--chinh);color:#fff;font-weight:600}
.cp{margin-top:18px}
.cp-khoi{padding:64px 0;scroll-margin-top:72px}
.cp-nen{background:linear-gradient(180deg,#F3F6FB 0%,var(--nen) 100%)}
.cp-nen-vang{background:linear-gradient(180deg,#FBF4E6 0%,var(--nen) 100%)}
.cp-td{text-align:center;margin:0 0 .4em;font-size:clamp(1.5rem,3vw,2.1rem)}
.cp-td-phu{text-align:center;color:var(--chu-mo);margin:0 auto 34px;max-width:60ch}
/* 1. đầu trang */
.cp-hero{background:radial-gradient(900px 420px at 92% -12%,rgba(235,185,86,.2),transparent 62%),linear-gradient(135deg,#0C2740 0%,#12395F 55%,#1C4F82 100%);
  color:#fff;overflow:hidden;border-radius:0}
.cp-hero-khung{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center;padding-top:64px;padding-bottom:72px}
.cp-logo{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:700;color:#fff;margin-bottom:18px}
.cp-logo b{color:#EBB956}
.cp-nhan-tren{display:inline-block;padding:4px 12px;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  font-size:.82rem;letter-spacing:.04em;margin-bottom:14px}
.cp-hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.15;margin:0 0 .45em}
.cp-phu{font-size:1.12rem;color:rgba(255,255,255,.86);max-width:52ch;margin:0 0 26px}
.cp-nut{display:flex;flex-wrap:wrap;gap:12px}
.cp-nut-chinh{display:inline-flex;align-items:center;padding:13px 24px;border-radius:12px;background:linear-gradient(180deg,#EBB956,#C8922F);color:#0C2740;
  font-weight:700;box-shadow:0 8px 22px rgba(200,146,47,.35);border:0}
.cp-nut-chinh:hover{text-decoration:none;filter:brightness(1.05);transform:translateY(-1px)}
.cp-nut-vien{display:inline-flex;align-items:center;padding:12px 22px;border-radius:12px;border:1.5px solid rgba(255,255,255,.55);color:#fff;font-weight:600;
  background:transparent;font:inherit;font-weight:600;cursor:pointer}
.cp-nut-vien:hover{background:rgba(255,255,255,.1);text-decoration:none}
.cp-so{display:flex;flex-wrap:wrap;gap:28px;margin-top:34px}
.cp-so div{display:flex;flex-direction:column}
.cp-so b{font-size:2rem;line-height:1;color:#EBB956}
.cp-so span{font-size:.86rem;color:rgba(255,255,255,.75);max-width:18ch;margin-top:6px}
.cp-hero-anh{position:relative;min-height:380px}
.cp-hero-anh img{position:absolute;width:78%;height:auto;border-radius:14px;box-shadow:0 24px 50px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.2)}
.cp-a1{top:0;right:0;transform:rotate(2.5deg)}
.cp-a2{top:28%;left:0;transform:rotate(-3deg);z-index:2}
.cp-a3{bottom:0;right:6%;transform:rotate(1.5deg);z-index:3}
/* 2. vấn đề */
.cp-van-de{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:980px;margin:30px auto 0}
.cp-vd{display:flex;gap:14px;align-items:flex-start;background:var(--trang);border:1px solid var(--vien);border-radius:16px;padding:20px 22px;
  box-shadow:inset 4px 0 0 #E03131}
.cp-vd p{margin:0}
.cp-vd-so{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#FDECEC;color:#C92A2A;font-weight:700;display:flex;align-items:center;justify-content:center}
/* 3. lưới 12 phân hệ */
.cp-luoi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cp-o{display:flex;flex-direction:column;gap:6px;background:var(--trang);border:1px solid var(--vien);border-radius:18px;padding:22px 20px;color:var(--chu);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;position:relative;overflow:hidden}
.cp-o::before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:var(--m)}
.cp-o:hover{text-decoration:none;transform:translateY(-4px);border-color:var(--m);box-shadow:0 14px 30px color-mix(in srgb,var(--m) 22%,transparent)}
.cp-o img{width:56px;height:56px;margin-bottom:6px}
.cp-o b{font-size:1.04rem;color:var(--chinh-dam)}
.cp-o span{font-size:.9rem;color:var(--chu-mo);line-height:1.5}
/* 4. chi tiết từng phân hệ */
.cp-pm{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;padding:42px 0;border-top:1px solid var(--vien);scroll-margin-top:80px}
.cp-pm:first-of-type{border-top:0}
.cp-pm.dao .cp-pm-anh{order:2}
.cp-pm-anh{margin:0;position:relative}
.cp-pm-anh::before{content:'';position:absolute;inset:8% -4% -6% 6%;border-radius:22px;background:color-mix(in srgb,var(--m) 16%,transparent);z-index:0}
.cp-pm.dao .cp-pm-anh::before{inset:8% 6% -6% -4%}
.cp-pm-anh img{position:relative;z-index:1;width:100%;height:auto;border-radius:16px;box-shadow:0 18px 40px rgba(12,39,64,.16);border:1px solid var(--vien)}
.cp-pm-dau{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.cp-pm-dau img{width:48px;height:48px}
.cp-pm-dau span{font-size:.8rem;font-weight:700;letter-spacing:.08em;color:var(--m)}
.cp-pm h3{font-size:1.5rem;margin:0 0 .3em;color:var(--chinh-dam)}
.cp-pm-dong{font-weight:600;color:var(--m);margin-bottom:.7em}
.cp-ve{font-size:.86rem;color:var(--chu-mo)}
/* 5. vì sao chọn */
.cp-vi-sao{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:1080px;margin:30px auto 0}
.cp-vi-sao .cp-vs{flex:0 1 330px}
.cp-vs{display:flex;gap:14px;align-items:flex-start;background:var(--trang);border:1px solid #EFDDB5;border-radius:16px;padding:20px}
.cp-vs p{margin:0}
.cp-vs b{color:var(--chinh-dam)}
.cp-dau-tich{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,#EBB956,#C8922F);color:#fff;font-weight:700;
  display:flex;align-items:center;justify-content:center}
.cp-them{max-width:900px;margin:0 auto}
/* 6. cuối trang */
.cp-cuoi{background:linear-gradient(135deg,#0C2740,#12395F);color:#fff;padding:54px 0}
.cp-cuoi-khung{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.cp-cuoi-khung .cp-nut{justify-content:center}
.cp-cuoi-logo{width:52px;height:52px}
.cp-cuoi h2{color:#fff;margin:0 0 .3em}
.cp-cuoi p{margin:0;color:rgba(255,255,255,.85)}
.cp-cuoi a:not(.cp-nut-chinh){color:#EBB956}
@media (max-width:900px){
  .cp-hero-khung{grid-template-columns:1fr;padding-top:44px;padding-bottom:48px}
  .cp-hero-anh{min-height:0;height:min(64vw,340px)}
  .cp-luoi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-pm,.cp-pm.dao{grid-template-columns:1fr;gap:22px}
  .cp-pm.dao .cp-pm-anh{order:0}
}
@media (max-width:560px){
  .cp-khoi{padding:44px 0}
  .cp-van-de{grid-template-columns:1fr}
  .cp-luoi{gap:10px}
  .cp-o{padding:16px 14px;border-radius:14px}
  .cp-o img{width:44px;height:44px}
  .cp-o span{font-size:.84rem}
  .cp-so{gap:18px}
  .cp-so b{font-size:1.6rem}
  .cp-hero-anh img{width:86%}
  .cp-hero{background:radial-gradient(420px 260px at 100% 0%,rgba(235,185,86,.16),transparent 65%),linear-gradient(160deg,#0C2740 0%,#12395F 60%,#1C4F82 100%)}
}

/* v127: ảnh chèn trong bài (Quản trị › Trang) */
.noi-dung img{max-width:100%;height:auto;border-radius:10px;display:inline-block}
/* v128: 2b. Những điểm hay — mỗi điểm một khối lớn; chữ HTML (SEO / điện thoại / EN) dưới ảnh */
.cp-nen-tim{background:linear-gradient(180deg,#F4F0FE 0%,var(--nen) 100%)}
.cp-diem-hay{display:flex;flex-direction:column;gap:28px;max-width:1000px;margin:0 auto}
.cp-dh{margin:0;background:var(--trang);border:1px solid var(--vien);border-radius:20px;overflow:hidden;box-shadow:0 16px 40px rgba(12,39,64,.10)}
.cp-dh img{display:block;width:100%;height:auto}
.cp-dh-chu{display:flex;flex-direction:column;gap:4px;padding:14px 20px 18px}
.cp-dh-chu b{color:var(--chinh-dam);font-size:1.05rem}
.cp-dh-chu span{color:var(--chu-mo);font-size:.95rem}
@media (min-width:761px){ .cp-diem-hay:not(.hien-chu) .cp-dh-chu{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} }
/* v128: trang mảng — thẻ GIẢI PHÁP lớn */
.giai-phap-ds{display:flex;flex-direction:column;gap:14px;margin:6px 0 26px}
.giai-phap{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;border-radius:18px;
  background:linear-gradient(135deg,#0C2740,#12395F);color:#fff;box-shadow:0 12px 30px rgba(12,39,64,.18);transition:transform .15s ease,box-shadow .15s ease}
.giai-phap:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 18px 38px rgba(12,39,64,.26)}
.giai-phap img{width:64px;height:64px;background:#fff;border-radius:14px;padding:8px}
.gp-chu{display:flex;flex-direction:column;gap:4px}
.gp-chu b{font-size:1.15rem;color:#fff}
.gp-chu span{color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.5}
.gp-nut{padding:10px 18px;border-radius:10px;background:linear-gradient(180deg,#EBB956,#C8922F);color:#0C2740;font-weight:700;white-space:nowrap}
@media (max-width:640px){ .giai-phap{grid-template-columns:52px minmax(0,1fr)} .giai-phap img{width:52px;height:52px} .gp-nut{grid-column:1/-1;justify-self:start} }
/* v129: 4 NHÓM phân hệ (lưới + dải ngăn trong phần chi tiết) · TUỲ BIẾN · căn giữa các hàng lẻ */
.cp-nhom-ds{display:flex;flex-direction:column;gap:22px}
.cp-nhom{background:var(--trang);border:1px solid var(--vien);border-radius:22px;padding:22px 22px 24px;box-shadow:inset 0 4px 0 var(--g)}
.cp-nhom-dau{display:flex;align-items:center;gap:14px;justify-content:center;text-align:left;margin-bottom:16px}
.cp-nhom-dau h3{margin:0;font-size:1.2rem;color:var(--chinh-dam)}
.cp-nhom-dau p{margin:2px 0 0;color:var(--g);font-weight:600}
.cp-nhom-so{flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--g);color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px color-mix(in srgb,var(--g) 35%,transparent)}
.cp-nhom-o{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.cp-nhom-o .cp-o{flex:0 1 240px}
.cp-nhom-ngan{display:flex;align-items:center;gap:14px;margin:34px 0 4px;padding:14px 18px;border-radius:16px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--g) 14%,#fff),transparent);border-left:5px solid var(--g)}
.cp-nhom-ngan b{display:block;color:var(--chinh-dam);font-size:1.08rem}
.cp-nhom-ngan span:not(.cp-nhom-so){color:var(--g);font-weight:600;font-size:.95rem}
.cp-nhom-ngan + .cp-pm{border-top:0}
.cp-tuy-bien{background:radial-gradient(700px 300px at 10% 0%,rgba(124,77,255,.14),transparent 60%),radial-gradient(700px 300px at 90% 100%,rgba(235,185,86,.18),transparent 60%),#FBFAFF;
  border-top:1px solid #E7DFFF;border-bottom:1px solid #E7DFFF;text-align:center}
.cp-tb-nhan{display:inline-block;padding:4px 14px;border-radius:99px;background:linear-gradient(90deg,#7C4DFF,#B07F24);color:#fff;font-weight:700;font-size:.82rem;
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.cp-tb-than{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:34px;align-items:center;text-align:left;margin-top:10px}
.cp-tb-anh{margin:0}
.cp-tb-anh img{width:100%;height:auto;border-radius:18px;box-shadow:0 20px 44px rgba(76,46,170,.18);border:1px solid #E7DFFF}
.cp-tb-y{display:flex;flex-direction:column;gap:12px}
.cp-tb-mot{display:flex;gap:12px;align-items:flex-start;background:var(--trang);border:1px solid #ECE6FF;border-radius:14px;padding:12px 14px}
.cp-tb-mot p{margin:0;font-size:.95rem}
.cp-tb-mot b{color:var(--chinh-dam)}
.cp-tb-bieu{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:rgba(124,77,255,.12);color:#6D3FE8;display:flex;align-items:center;justify-content:center}
.cp-tb-chot{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:30px}
.cp-tb-chot p{margin:0;font-size:1.12rem;font-weight:600;color:var(--chinh-dam);max-width:60ch}
@media (max-width:900px){ .cp-tb-than{grid-template-columns:1fr} }
@media (max-width:560px){ .cp-nhom{padding:16px 12px 18px} .cp-nhom-o .cp-o{flex:1 1 calc(50% - 7px)} .cp-nhom-dau{justify-content:flex-start} .cp-vi-sao .cp-vs{flex:1 1 100%} }

/* ---- v131 TẢI CPLATFORM-APP (/app) + dải giới thiệu app trên trang CPlatform ---- */
.ud{margin-top:18px}
.ud-hero-khung{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;padding-top:60px;padding-bottom:70px}
.ud-nut-tai{gap:10px;padding:11px 22px}
.ud-nut-tai span{display:flex;flex-direction:column;line-height:1.2}
.ud-nut-tai small{font-weight:500;font-size:.75rem;opacity:.8}
.ud-khong-play{margin:16px 0 0;font-size:.9rem;color:rgba(255,255,255,.78)}
.ud-khong-play::before{content:"✓ ";color:#7EE2B8;font-weight:700}
/* điện thoại vẽ bằng HTML */
.ud-dt-vung{position:relative;display:flex;justify-content:center;min-height:470px}
.ud-dt{position:relative;width:240px;height:470px;border-radius:38px;background:#0A1C2E;padding:12px;
  box-shadow:0 30px 60px rgba(0,0,0,.45),inset 0 0 0 2px rgba(255,255,255,.14);transform:rotate(-3deg)}
.ud-dt-tai{position:absolute;top:18px;left:50%;width:70px;height:18px;margin-left:-35px;border-radius:12px;background:#0A1C2E;z-index:2}
.ud-dt-man{height:100%;border-radius:28px;background:linear-gradient(180deg,#FFFFFF 0%,#EEF3F9 100%);display:flex;flex-direction:column;
  align-items:center;padding:70px 20px 20px;color:#12395F;text-align:center}
.ud-dt-logo{border-radius:16px;box-shadow:0 8px 20px rgba(18,57,95,.25)}
.ud-dt-ten{font-size:1.15rem;margin:14px 0 22px}
.ud-dt-nho{align-self:flex-start;font-size:.72rem;color:#5B6B7F;margin-bottom:6px}
.ud-dt-o{width:100%;box-sizing:border-box;text-align:left;padding:10px 12px;border-radius:10px;border:1.5px solid #12395F;background:#fff;font-size:.88rem;color:#1B1D21}
.ud-dt-nut{width:100%;margin-top:12px;padding:10px;border-radius:10px;background:linear-gradient(180deg,#EBB956,#C8922F);color:#0C2740;font-weight:700;font-size:.88rem}
.ud-dt-ghi{margin-top:auto;font-size:.7rem;color:#5B6B7F}
.ud-tb{position:absolute;display:flex;gap:10px;align-items:flex-start;width:250px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.96);
  color:#1B1D21;box-shadow:0 14px 34px rgba(0,0,0,.3);font-size:.8rem;line-height:1.35;animation:ud-tb-vao .6s ease-out both}
.ud-tb img{border-radius:7px;flex:none}
.ud-tb span{display:flex;flex-direction:column;min-width:0}
.ud-tb b{font-size:.78rem;color:#0E7C66}
.ud-tb-1{top:64px;right:-6px;animation-delay:.4s}
.ud-tb-2{bottom:70px;left:-10px;animation-delay:1s}
.ud-tb-2 b{color:#7A4BD0}
@keyframes ud-tb-vao{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
/* ba bước */
.ud-buoc{list-style:none;padding:0;margin:30px auto 0;max-width:1000px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:b}
.ud-buoc li{position:relative;background:var(--trang);border:1px solid var(--vien);border-radius:16px;padding:22px 22px 18px}
.ud-so{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;margin-bottom:12px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#12395F,#1C6FD1)}
.ud-buoc li:nth-child(2) .ud-so{background:linear-gradient(135deg,#B07F24,#EBB956)}
.ud-buoc li:nth-child(3) .ud-so{background:linear-gradient(135deg,#0E7C66,#2BB58F)}
.ud-buoc b{display:block;font-size:1.05rem;color:var(--chinh-dam,#0C2740)}
.ud-buoc p{margin:6px 0 0;color:var(--chu-mo);font-size:.94rem}
/* tính năng */
.ud-khoi-nen{background:linear-gradient(180deg,#F3F6FB 0%,var(--nen) 100%)}
.ud-tn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px;margin:30px auto 0}
.ud-tn-o{background:var(--trang);border:1px solid color-mix(in srgb,var(--c) 22%,var(--vien));border-radius:16px;padding:20px;
  box-shadow:0 1px 0 color-mix(in srgb,var(--c) 30%,transparent) inset;transition:transform .15s,box-shadow .15s}
.ud-tn-o:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--c) 18%,transparent)}
.ud-tn-bieu{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:var(--c);
  background:color-mix(in srgb,var(--c) 13%,#fff);margin-bottom:12px}
.ud-tn-o b{display:block;color:var(--c);font-size:1.02rem}
.ud-tn-o p{margin:6px 0 0;color:var(--chu-mo);font-size:.93rem}
/* hướng dẫn cài */
.ud-cai{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px}
.ud-cai-o{background:var(--trang);border:1px solid var(--vien);border-top:4px solid var(--c);border-radius:16px;padding:24px 26px;scroll-margin-top:80px}
.ud-cai-o h2{color:var(--c);margin:0 0 12px;font-size:1.3rem}
.ud-cai-o h3{margin:20px 0 6px;font-size:1rem}
.ud-cai-o ol{margin:0;padding-left:1.3em;display:grid;gap:8px}
.ud-cai-o li::marker{color:var(--c);font-weight:700}
.ud-chu-y{margin:14px 0 0;padding:10px 12px;border-radius:10px;font-size:.9rem;background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--chu)}
.ud-nut-xanh{display:inline-block;margin-top:14px;padding:11px 20px;border-radius:11px;background:var(--c);color:#fff;font-weight:700}
.ud-nut-xanh:hover{text-decoration:none;filter:brightness(1.07)}
.ud-sha{margin:12px 0 0;font-size:.76rem;color:var(--chu-mo);overflow-wrap:anywhere}
.ud-sha code{font-size:.72rem}
/* hỏi nhanh */
.ud-hoi{max-width:820px}
.ud-hoi details{background:var(--trang);border:1px solid var(--vien);border-radius:12px;padding:14px 18px;margin-top:10px}
.ud-hoi summary{cursor:pointer;font-weight:600;color:var(--chinh-dam,#0C2740)}
.ud-hoi details p{margin:8px 0 0;color:var(--chu-mo)}
/* dải trên trang CPlatform */
.ud-dai-cp{padding:40px 0}
.ud-dai-khung{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:26px 30px;border-radius:20px;
  background:radial-gradient(500px 200px at 100% 0,rgba(235,185,86,.25),transparent 60%),linear-gradient(135deg,#0C2740,#12395F 60%,#1C4F82);color:#fff}
.ud-dai-logo{border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.3);flex:none}
.ud-dai-chu{flex:1 1 320px;min-width:0}
.ud-dai-chu h2{color:#fff;margin:0 0 4px;font-size:1.35rem}
.ud-dai-chu p{margin:0;color:rgba(255,255,255,.82)}
@media (max-width:900px){
  .ud-hero-khung{grid-template-columns:1fr;gap:28px;padding-top:40px;padding-bottom:48px}
  .ud-tn{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ud-cai{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ud-buoc,.ud-tn{grid-template-columns:1fr}
  .ud-dt-vung{min-height:430px;transform:scale(.92);transform-origin:top center}
  .ud-tb{width:210px}
  .ud-tb-1{right:0}
  .ud-tb-2{left:0}
  .ud-dai-khung{padding:22px 20px}
}

/* ---- v132 MẪU TRANG DỊCH VỤ (views/public/dich-vu.ejs) — màu nhấn từng trang ở --c, màu từng thẻ ở --m ---- */
.dv{margin-top:14px}
.dv-khoi{padding:60px 0;scroll-margin-top:76px}
.dv-khoi-gon{padding:26px 0}
.dv-nen{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 6%,#fff) 0%,var(--nen) 100%)}
.dv-td{text-align:center;margin:0 0 .45em;font-size:clamp(1.45rem,2.8vw,2rem);color:var(--chinh-dam,#0C2740)}
.dv-td-phu{text-align:center;color:var(--chu-mo);margin:0 auto 30px;max-width:62ch}
/* ① đầu trang */
.dv-hero{background:radial-gradient(760px 380px at 95% 0%,color-mix(in srgb,var(--c) 22%,transparent),transparent 65%),
  linear-gradient(160deg,color-mix(in srgb,var(--c) 9%,#fff) 0%,#fff 60%);border-bottom:1px solid var(--vien)}
.dv-hero-khung{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:44px;align-items:center;padding-top:46px;padding-bottom:56px}
.dv-nhan-tren{display:inline-flex;align-items:center;gap:8px;padding:5px 13px;border-radius:99px;font-size:.82rem;font-weight:700;letter-spacing:.02em;
  color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}
.dv-nhan-tren::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.dv-hero h1{font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.15;margin:16px 0 .4em;color:#0C2740}
.dv-phu{font-size:1.07rem;color:#3D4552;margin:0 0 18px;max-width:56ch}
.dv-diem{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:8px 16px}
.dv-diem li{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.93rem;color:#1F2937}
.dv-diem svg,.dv-nhom li svg,.dv-gia-the li svg{color:var(--c);flex:none}
.dv-nut{display:flex;flex-wrap:wrap;gap:12px}
/* v180: SỐ TO đầu trang dịch vụ / CPlatform (partials/_so-to.ejs) */
.so-to{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:18px}
.so-to-goi{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:800;font-size:clamp(1.7rem,4.2vw,2.35rem);letter-spacing:.01em;line-height:1.1}
.so-to-goi svg{flex:none;width:clamp(26px,4vw,34px);height:clamp(26px,4vw,34px);padding:7px;box-sizing:content-box;border-radius:50%;background:#16A34A;color:#fff}
.so-to-goi:hover .so-to-so{text-decoration:underline}
.so-to-zalo{display:inline-flex;align-items:center;padding:8px 16px;border-radius:99px;background:#0068FF;color:#fff;font-weight:700;text-decoration:none;font-size:1rem}
.so-to-ghi{flex-basis:100%;font-size:.85rem;opacity:.8}
.dv-nut-chinh,.dv-nut-phu{display:inline-flex;align-items:center;padding:12px 22px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer;transition:transform .15s,filter .15s}
.dv-nut-chinh{background:var(--c);color:#fff;border:0;box-shadow:0 10px 24px color-mix(in srgb,var(--c) 35%,transparent)}
.dv-nut-phu{background:#fff;color:var(--c);border:1.5px solid color-mix(in srgb,var(--c) 45%,transparent)}
.dv-nut-chinh:hover,.dv-nut-phu:hover{text-decoration:none;transform:translateY(-1px);filter:brightness(1.05)}
.dv-hero-anh img{display:block;width:100%;height:auto;border-radius:18px;background:#fff;
  box-shadow:0 28px 60px rgba(12,39,64,.18),0 0 0 1px rgba(12,39,64,.06)}
/* vấn đề (Cloud) */
.dv-van-de{max-width:820px}
.dv-van-de ul{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dv-van-de li{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid #F3D3CF;border-radius:14px;padding:14px 16px;font-weight:600;color:#3D2A28}
.dv-cheo{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;flex:none;color:#C92A2A;background:#FFE3E3}
.dv-van-de-chot{text-align:center;margin:22px 0 0;font-size:1.05rem;font-weight:600;color:var(--c)}
/* ② lợi ích */
.dv-loi-ich{display:grid;grid-template-columns:repeat(var(--cot,4),minmax(0,1fr));gap:16px;max-width:1120px;margin:28px auto 0}
.dv-an{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dv-anh-sat{margin-top:0}
.dv-ss-vo{max-width:1000px;margin:24px auto 0;overflow-x:auto;background:#fff;border-radius:16px;box-shadow:0 18px 40px rgba(12,39,64,.1),0 0 0 1px rgba(12,39,64,.06)}
.dv-ss{width:100%;border-collapse:collapse;font-size:.95rem}
.dv-ss th,.dv-ss td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--vien)}
.dv-ss thead th{font-size:.82rem;color:var(--chu-mo);font-weight:600}
.dv-ss thead th.ta{color:#fff;background:var(--c)}
.dv-ss tbody th{color:#0C2740}
.dv-ss td.ho{color:#B42318}
.dv-ss td.ta{color:#0E7C66;font-weight:700;background:color-mix(in srgb,var(--c) 5%,#fff)}
.dv-ss td svg{vertical-align:-3px}
.dv-ba{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px}
.dv-li{background:#fff;border:1px solid color-mix(in srgb,var(--m) 22%,var(--vien));border-radius:16px;padding:20px 18px;
  border-top:4px solid var(--m);transition:transform .15s,box-shadow .15s}
.dv-li:hover{transform:translateY(-3px);box-shadow:0 14px 30px color-mix(in srgb,var(--m) 18%,transparent)}
.dv-li-bieu{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;margin-bottom:12px;color:var(--m);background:color-mix(in srgb,var(--m) 13%,#fff)}
.dv-li b{display:block;color:#0C2740;font-size:1.02rem}
.dv-li p{margin:6px 0 0;color:var(--chu-mo);font-size:.93rem;line-height:1.5}
/* ③ gồm những gì */
.dv-gom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:34px;align-items:start}
.dv-gom-ds{display:grid;gap:16px}
.dv-nhom{background:#fff;border:1px solid var(--vien);border-left:4px solid var(--m);border-radius:14px;padding:16px 18px}
.dv-nhom h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:1.05rem;color:#0C2740}
.dv-so{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--m);color:#fff;font-size:.85rem;font-weight:800;flex:none}
.dv-nhom ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.dv-nhom li{display:flex;gap:8px;align-items:flex-start;font-size:.94rem;line-height:1.5}
.dv-nhom li svg{margin-top:3px;color:var(--m)}
.dv-gom-anh{position:sticky;top:92px}
.dv-gom-anh img,.dv-anh-rong img,.dv-bc-anh img{display:block;width:100%;height:auto;border-radius:16px;background:#fff;box-shadow:0 18px 40px rgba(12,39,64,.12),0 0 0 1px rgba(12,39,64,.06)}
.dv-anh-rong{max-width:1000px;margin:28px auto 0}
/* hai hình thức */
.dv-ht{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px;margin:0 auto}
.dv-ht-the{--m:var(--c);display:flex;flex-direction:column;background:#fff;border:1.5px solid color-mix(in srgb,var(--m) 30%,var(--vien));border-radius:18px;padding:22px 22px 20px;
  box-shadow:0 10px 26px rgba(12,39,64,.06)}
.dv-ht-the.b{--m:#0E7C66}
.dv-ht-dau{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.dv-ht-ma{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--m);color:#fff;font-size:1.35rem;font-weight:800;flex:none}
.dv-ht-dau b{display:block;font-size:1.2rem;color:#0C2740}
.dv-ht-nhan{display:inline-block;margin-top:3px;font-size:.78rem;font-weight:700;color:var(--m);background:color-mix(in srgb,var(--m) 12%,#fff);padding:2px 9px;border-radius:99px}
.dv-ht-the dl{margin:0 0 16px;display:grid;grid-template-columns:max-content 1fr;gap:9px 14px;font-size:.93rem}
.dv-ht-the dt{font-weight:700;color:var(--m)}
.dv-ht-the dd{margin:0;color:#2B3340}
.dv-ht-nut{margin-top:auto;align-self:flex-start;display:inline-flex;padding:10px 18px;border-radius:11px;background:var(--m);color:#fff;font:inherit;font-weight:700;border:0;cursor:pointer}
.dv-ht-nut:hover{text-decoration:none;filter:brightness(1.07)}
.dv-ht-duoi{text-align:center;max-width:70ch;margin:22px auto 0;color:var(--chu-mo)}
/* ④ quy trình */
.dv-qt{list-style:none;padding:0;margin:30px auto 0;max-width:1100px;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:14px;position:relative}
.dv-qt li{position:relative;background:#fff;border:1px solid var(--vien);border-radius:16px;padding:18px 16px 16px}
.dv-qt-so{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--m);color:#fff;font-weight:800;margin-bottom:10px;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--m) 16%,transparent)}
.dv-qt-moc{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--m)}
.dv-qt b{display:block;margin-top:2px;color:#0C2740}
.dv-qt p{margin:6px 0 0;font-size:.92rem;color:var(--chu-mo)}
/* ⑤ báo cáo */
.dv-bc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:center}
.dv-bc-chu h2{margin:0 0 10px;font-size:clamp(1.35rem,2.6vw,1.8rem);color:#0C2740}
.dv-bc-chu > p{color:var(--chu-mo);margin:0 0 16px}
.dv-bc-chu ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.dv-bc-chu li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--vien);border-radius:14px;padding:12px 14px}
.dv-bc-cham{width:12px;height:12px;border-radius:50%;background:var(--m);margin-top:5px;flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--m) 18%,transparent)}
.dv-bc-chu li b{display:block;color:#0C2740}
.dv-bc-chu li span{color:var(--chu-mo);font-size:.93rem}
/* bảng giá */
.dv-gia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1040px;margin:0 auto;align-items:stretch}
.dv-gia.hai{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}   /* v241: 2 gói ⇒ giữa trang */
.dv-gia-the{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--vien);border-radius:18px;padding:24px 22px;position:relative}
.dv-gia-the.noi-bat{border-color:var(--c);box-shadow:0 20px 44px color-mix(in srgb,var(--c) 22%,transparent);transform:translateY(-6px)}
.dv-gia-the.noi-bat::before{content:"★";position:absolute;top:-14px;right:18px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:var(--c);color:#fff;font-size:.85rem}
.dv-gia-ten{font-size:1.05rem;color:var(--m)}
.dv-gia-so{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin:10px 0 14px}
.dv-gia-so span{font-size:2rem;font-weight:800;color:#0C2740;line-height:1}
.dv-gia-so small{color:var(--chu-mo);font-weight:600}
.dv-gia-the ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px;font-size:.93rem}
.dv-gia-the li{display:flex;gap:8px;align-items:flex-start}
.dv-gia-the li svg{margin-top:3px}
.dv-gia-nut{margin-top:auto;display:inline-flex;justify-content:center;padding:11px 16px;border-radius:11px;font:inherit;font-weight:700;cursor:pointer;
  background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--c);border:1.5px solid color-mix(in srgb,var(--c) 35%,transparent)}
.dv-gia-the.noi-bat .dv-gia-nut{background:var(--c);color:#fff;border-color:var(--c)}
.dv-gia-nut:hover{text-decoration:none;filter:brightness(1.05)}
.dv-gia-ghi{text-align:center;margin:18px 0 0;color:var(--chu-mo);font-size:.9rem}
/* ⑥ phù hợp */
.dv-ph{list-style:none;padding:0;margin:26px auto 0;max-width:980px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.dv-ph li{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--m) 8%,#fff);
  border:1px solid color-mix(in srgb,var(--m) 25%,transparent);font-weight:600;color:#1F2937;max-width:460px}
.dv-ph li svg{color:var(--m);flex:none}
/* liên quan */
.dv-lq{display:flex;align-items:center;gap:18px;flex-wrap:wrap;max-width:1000px;margin:0 auto;padding:20px 24px;border-radius:18px;
  background:color-mix(in srgb,var(--c) 8%,#fff);border:1px dashed color-mix(in srgb,var(--c) 40%,transparent)}
.dv-lq-bieu{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--c);color:#fff;flex:none}
.dv-lq > div{flex:1 1 320px;min-width:0}
.dv-lq b{color:#0C2740;font-size:1.05rem}
.dv-lq p{margin:4px 0 0;color:var(--chu-mo)}
.dv-lq-nut{font-weight:700;color:var(--c);white-space:nowrap}
/* ⑦ hỏi đáp */
.dv-hoi{max-width:840px}
.dv-hoi details{background:#fff;border:1px solid var(--vien);border-left:4px solid var(--c);border-radius:12px;padding:14px 18px;margin-top:10px}
.dv-hoi summary{cursor:pointer;font-weight:700;color:#0C2740}
.dv-hoi details p{margin:8px 0 0;color:#3D4552}
/* ⑧ cuối trang */
.dv-cuoi{background:radial-gradient(600px 260px at 100% 0,color-mix(in srgb,var(--c) 45%,transparent),transparent 65%),linear-gradient(135deg,#0C2740,#12395F);color:#fff}
.dv-cuoi-khung{text-align:center;padding-top:54px;padding-bottom:58px}
.dv-cuoi h2{color:#fff;margin:0 0 8px;font-size:clamp(1.4rem,3vw,2rem)}
.dv-cuoi p{color:rgba(255,255,255,.82);margin:0 0 22px}
.dv-cuoi .dv-nut{justify-content:center}
.dv-cuoi .dv-nut-phu{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
@media (max-width:980px){
  .dv-hero-khung,.dv-gom,.dv-bc{grid-template-columns:1fr;gap:26px}
  .dv-gom-anh{position:static;order:-1}
  .dv-qt{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dv-loi-ich{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dv-gia,.dv-gia.hai{grid-template-columns:1fr;max-width:460px}
  .dv-gia-the.noi-bat{transform:none}
}
@media (max-width:640px){
  .dv-khoi{padding:42px 0}
  .dv-ht,.dv-ba,.dv-van-de ul,.dv-qt,.dv-loi-ich{grid-template-columns:1fr}
  .dv-ht-the dl{grid-template-columns:1fr;gap:2px}
  .dv-ht-the dd{margin-bottom:8px}
  .dv-li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:start;padding:16px}
  .dv-li-bieu{grid-row:span 2;margin:0}
  .dv-li p{margin-top:3px}
}

/* v241: dải "Bản xem trước" trên trang chưa đăng (chỉ quản trị thấy) */
.xem-truoc{background:#FEF3C7;color:#78350F;border-bottom:1px solid #F59E0B;text-align:center;font-weight:700;font-size:.9rem;padding:8px 16px}
/* ---- v241 (#45) khối mới của mẫu dịch vụ (trang Tổng đài web — dùng được cho mọi trang dịch vụ) ---- */
/* nút đi tới 'goi': xanh lá + chấm nhịp */
.dv-nut-goi{gap:9px}
.dv-nut-chinh.dv-nut-goi{background:#16A34A;box-shadow:0 10px 24px rgba(22,163,74,.35)}
.dv-nut-goi::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;animation:dv-goi-nhip 1.8s infinite}
@keyframes dv-goi-nhip{0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
/* minh hoạ Tổng đài web ở đầu trang: máy tính (bảng khách đang xem + chuông) + điện thoại khách đang gọi */
.tdm{position:relative;min-height:450px;padding:34px 0 46px 74px}
.tdm-may{position:relative;background:#fff;border-radius:16px;box-shadow:0 30px 70px rgba(12,39,64,.22),0 0 0 1px rgba(12,39,64,.08)}
.tdm-thanh{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid #EEF0F3;background:#F7F8FA;border-radius:16px 16px 0 0}
.tdm-thanh i{width:9px;height:9px;border-radius:50%;background:#F87171}
.tdm-thanh i:nth-child(2){background:#FBBF24}.tdm-thanh i:nth-child(3){background:#34D399}
.tdm-thanh span{margin-left:8px;font-size:.74rem;font-weight:600;color:#6B7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tdm-than{display:grid;grid-template-columns:96px minmax(0,1fr);min-height:262px}
.tdm-cot{background:#0C2740;border-radius:0 0 0 16px;padding:16px 12px;display:flex;flex-direction:column;gap:10px}
.tdm-cot b{height:12px;width:58%;border-radius:6px;background:rgba(255,255,255,.55);margin-bottom:6px}
.tdm-cot span{height:8px;border-radius:5px;background:rgba(255,255,255,.18)}
.tdm-cot span.dang{background:var(--nhan)}
.tdm-noi{padding:18px 18px 20px 26px}
.tdm-tieu{display:flex;align-items:center;gap:8px;font-weight:800;color:#0C2740;font-size:.95rem;line-height:1.3;margin-bottom:4px}
.tdm-tieu em{font-style:normal;font-size:.72rem;font-weight:700;background:#DCFCE7;color:#15803D;border-radius:99px;padding:1px 8px}
.tdm-dong{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #EEF0F3;border-radius:10px;margin-top:8px;font-size:.82rem;line-height:1.3}
.tdm-dong > div{flex:1;min-width:0}
.tdm-dong b{display:block;color:#1F2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tdm-dong small{color:#6B7280;font-size:.72rem}
.tdm-cham{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px #DCFCE7;flex:none}
.tdm-goi{font-size:.72rem;font-weight:700;padding:4px 11px;border-radius:8px;background:#E8EEF5;color:#12395F;flex:none}
.tdm-goi.dang{background:#16A34A;color:#fff}
.tdm-reo{position:absolute;right:-16px;top:-30px;display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:10px 12px;
  box-shadow:0 18px 40px rgba(12,39,64,.24),0 0 0 1px rgba(12,39,64,.06);font-size:.8rem;line-height:1.3;max-width:300px;animation:tdm-noi 3s ease-in-out infinite}
.tdm-reo > div{min-width:0}
.tdm-reo b{display:block;color:#0C2740}
.tdm-reo small{color:#6B7280;font-size:.72rem}
.tdm-reo-bieu{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#16A34A;color:#fff;flex:none}
.tdm-reo-bieu::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #16A34A;animation:tdm-song 1.6s ease-out infinite}
.tdm-nghe{background:#16A34A;color:#fff;font-weight:700;border-radius:9px;padding:6px 13px;font-size:.78rem;flex:none}
.tdm-dt{position:absolute;left:0;bottom:0;width:172px;padding:9px;border-radius:30px;background:#0C2740;box-shadow:0 30px 60px rgba(12,39,64,.38)}
.tdm-dt-man{position:relative;height:318px;border-radius:22px;background:linear-gradient(180deg,#F8FAFC,#EAF0F7);overflow:hidden;padding:16px 11px}
.tdm-dt-web b{display:block;font-size:.7rem;color:#12395F;margin-bottom:8px}
.tdm-dt-web span{display:block;height:7px;border-radius:4px;background:#DCE3EC;margin-bottom:6px}
.tdm-dt-web span.ngan{width:60%}
.tdm-hop{margin-top:12px;background:#fff;border-radius:14px;padding:12px 10px;text-align:center;box-shadow:0 10px 24px rgba(12,39,64,.14)}
.tdm-hop b{display:block;font-size:.82rem;color:#0C2740}
.tdm-hop small{display:block;font-size:.64rem;color:#6B7280;line-height:1.35;margin:2px 0 9px}
.tdm-song{display:flex;justify-content:center;align-items:center;gap:3px;height:28px}
.tdm-song i{width:4px;height:8px;border-radius:2px;background:#16A34A;animation:tdm-am 1s ease-in-out infinite}
.tdm-song i:nth-child(2){animation-delay:.15s}.tdm-song i:nth-child(3){animation-delay:.3s}.tdm-song i:nth-child(4){animation-delay:.45s}.tdm-song i:nth-child(5){animation-delay:.6s}
.tdm-cup{display:inline-block;background:#DC2626;color:#fff;font-weight:700;font-size:.68rem;border-radius:8px;padding:4px 16px}
.tdm-nut-goi{position:absolute;right:10px;bottom:12px;display:inline-flex;align-items:center;gap:5px;background:#16A34A;color:#fff;font-weight:700;font-size:.68rem;
  border-radius:99px;padding:7px 11px;box-shadow:0 8px 18px rgba(22,163,74,.35)}
.tdm-nut-goi svg{width:12px;height:12px}
@keyframes tdm-song{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@keyframes tdm-am{0%,100%{height:6px}50%{height:24px}}
@keyframes tdm-noi{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media (max-width:980px){.tdm{width:100%;max-width:580px;margin:0 auto}}
@media (max-width:640px){
  .tdm{min-height:340px;padding:38px 0 0}
  .tdm-may{margin-right:104px}
  .tdm-than{grid-template-columns:1fr;min-height:0}
  .tdm-cot{display:none}
  .tdm-noi{padding:14px 12px 16px}
  .tdm-dong:nth-child(n+4){display:none}
  .tdm-reo{left:8px;right:-96px;top:-34px;max-width:none}
  .tdm-dt{left:auto;right:0;top:66px;bottom:auto;width:132px;padding:7px;border-radius:24px}
  .tdm-dt-man{height:236px;border-radius:18px;padding:12px 8px}
  .tdm-nut-goi{right:6px;bottom:8px;padding:6px 8px;font-size:.62rem}
  .tdm-hop{padding:10px 6px}
}
/* dải số dưới đầu trang (nổi lên mép dưới khối đầu) */
.dv-dai-so{position:relative;z-index:2;margin-top:-30px}
.dv-dai-so-ds{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 20px 44px rgba(12,39,64,.12),0 0 0 1px rgba(12,39,64,.06)}
.dv-dai-so-o{padding:22px 18px;text-align:center;border-left:1px solid var(--vien)}
.dv-dai-so-o:first-child{border-left:0}
.dv-dai-so-o b{display:block;font-size:clamp(1.55rem,3.3vw,2.3rem);line-height:1.1;font-weight:800;letter-spacing:-.01em;color:var(--m)}
.dv-dai-so-o span{display:block;margin-top:6px;color:#3D4552;font-size:.92rem;line-height:1.4}
@media (max-width:760px){.dv-dai-so-ds{grid-template-columns:repeat(2,minmax(0,1fr))}.dv-dai-so-o:nth-child(3){border-left:0}.dv-dai-so-o:nth-child(n+3){border-top:1px solid var(--vien)}}
/* vấn đề → giải pháp */
.dv-vg{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:18px;max-width:1120px;margin:28px auto 0}
.dv-vg-the{display:flex;flex-direction:column;background:#fff;border:1px solid var(--vien);border-radius:18px;overflow:hidden;box-shadow:var(--bong)}
@supports (grid-template-rows:subgrid){.dv-vg{grid-auto-rows:auto}.dv-vg-the{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}}
.dv-vg-tren{padding:20px 20px 16px;background:linear-gradient(180deg,#FFF5F4,#fff)}
.dv-vg-bieu{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#C92A2A;background:#FFE3E3;margin-bottom:12px}
.dv-vg-tren b{display:block;color:#0C2740;font-size:1.06rem;line-height:1.35}
.dv-vg-tren p{margin:6px 0 0;color:var(--chu-mo);font-size:.93rem;line-height:1.5}
.dv-vg-duoi{flex:1;padding:16px 20px 20px;border-top:1px dashed #CDE7D5;background:linear-gradient(180deg,#F1FBF4,#fff)}
.dv-vg-nhan{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#15803D}
.dv-vg-duoi p{margin:6px 0 0;color:#1F2937;font-size:.95rem;line-height:1.55}
@media (max-width:860px){.dv-vg{grid-template-columns:1fr;max-width:560px}}
/* điểm nhấn nền tối */
.dv-dn{padding:76px 0;scroll-margin-top:76px;color:#fff;
  background:radial-gradient(700px 360px at 0% 0%,rgba(200,146,47,.24),transparent 60%),radial-gradient(640px 320px at 100% 100%,color-mix(in srgb,var(--c) 60%,transparent),transparent 65%),linear-gradient(140deg,#0A2136,#12395F)}
.dv-dn-khung{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:46px;align-items:center}
.dv-dn-khung.mot-cot{grid-template-columns:1fr;max-width:760px}
.dv-dn-nhan{display:inline-block;padding:5px 13px;border-radius:99px;font-size:.8rem;font-weight:800;letter-spacing:.03em;color:#0C2740;background:var(--nhan)}
.dv-dn h2{color:#fff;margin:14px 0 10px;font-size:clamp(1.55rem,3.2vw,2.25rem);line-height:1.2}
.dv-dn-mo{color:rgba(255,255,255,.84);font-size:1.03rem;margin:0 0 22px}
.dv-dn-ds{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:14px}
.dv-dn-ds li{display:flex;gap:14px;align-items:flex-start}
.dv-dn-so{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none;font-weight:800;font-size:.9rem;color:#0C2740;background:#fff}
.dv-dn-ds b{display:block;color:#fff}
.dv-dn-ds li > div > span{color:rgba(255,255,255,.76);font-size:.93rem;line-height:1.5}
.dv-dn .dv-nut-chinh:not(.dv-nut-goi){background:var(--nhan);color:#0C2740;box-shadow:0 10px 26px rgba(200,146,47,.35)}
.dv-dn .dv-nut-phu{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.dv-dn-anh{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 34px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.08);
  transform:perspective(1600px) rotateY(-5deg) rotateX(2deg);transition:transform .4s}
.dv-dn-anh:hover{transform:none}
.dv-dn-trinh{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#EEF1F5}
.dv-dn-trinh i{width:9px;height:9px;border-radius:50%;background:#F87171}
.dv-dn-trinh i:nth-child(2){background:#FBBF24}.dv-dn-trinh i:nth-child(3){background:#34D399}
.dv-dn-trinh span{flex:1;height:14px;margin-left:10px;border-radius:7px;background:#fff}
.dv-dn-anh img{display:block;width:100%;height:auto}
.dv-dn-anh figcaption{padding:10px 14px;font-size:.8rem;color:#5F6470;background:#fff;border-top:1px solid #EEF0F3}
@media (max-width:980px){.dv-dn-khung{grid-template-columns:1fr;gap:30px}.dv-dn-anh{transform:none}}
@media (max-width:640px){.dv-dn{padding:50px 0}}
/* sắp ra mắt */
.dv-srm{display:flex;gap:20px;align-items:flex-start;max-width:920px;margin:0 auto;padding:24px 26px;border-radius:20px;
  background:linear-gradient(135deg,#FFF8EC,#fff 62%);border:1px solid #F0DDB8;box-shadow:var(--bong)}
.dv-srm-bieu{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;flex:none;color:#fff;background:linear-gradient(135deg,var(--nhan),#A8741C);
  box-shadow:0 10px 22px rgba(200,146,47,.35)}
.dv-srm-chu{min-width:0}
.dv-srm-nhan{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#8A5E14;background:#FCEFD6;border-radius:99px;padding:3px 10px;margin-bottom:6px}
.dv-srm-chu b{display:block;color:#0C2740;font-size:1.15rem;line-height:1.35}
.dv-srm-chu p{margin:6px 0 0;color:#3D4552}
.dv-srm-chu ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px}
.dv-srm-chu li{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:#1F2937}
.dv-srm-chu li svg{color:#A8741C;flex:none}
@media (max-width:560px){.dv-srm{flex-direction:column;padding:20px}}
/* ngành — lưới biểu tượng */
.dv-ng{list-style:none;padding:0;margin:26px auto 0;max-width:1000px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dv-ng li{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:20px 10px;background:#fff;
  border:1px solid color-mix(in srgb,var(--m) 22%,var(--vien));border-radius:16px;transition:transform .15s,box-shadow .15s}
.dv-ng li:hover{transform:translateY(-3px);box-shadow:0 14px 30px color-mix(in srgb,var(--m) 18%,transparent)}
.dv-ng li span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;color:var(--m);background:color-mix(in srgb,var(--m) 12%,#fff)}
.dv-ng b{color:#0C2740;font-size:.95rem;line-height:1.3}
.dv-ng-chot{text-align:center;margin:22px auto 0;max-width:64ch;color:#3D4552;font-weight:600}
@media (max-width:700px){.dv-ng{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.dv-nut-goi::before,.tdm-reo,.tdm-reo-bieu::after,.tdm-song i{animation:none}.dv-dn-anh{transition:none}}

/* ---- v132 thẻ dịch vụ / giải pháp ở trang mảng (/advertising, /technology) ---- */
.the-dv-ds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:8px 0 28px}
.the-dv{display:flex;flex-direction:column;background:#fff;border:1px solid color-mix(in srgb,var(--c) 22%,var(--vien));border-radius:18px;overflow:hidden;
  color:inherit;transition:transform .16s,box-shadow .16s}
.the-dv:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 18px 38px color-mix(in srgb,var(--c) 22%,transparent)}
.the-dv-anh{position:relative;display:block;aspect-ratio:16/8;overflow:hidden;
  background:linear-gradient(135deg,color-mix(in srgb,var(--c) 20%,#fff),color-mix(in srgb,var(--c) 6%,#fff))}
.the-dv-anh img{width:100%;height:100%;object-fit:cover;object-position:left top;display:block}
.the-dv-anh img.the-dv-logo{position:absolute;left:14px;bottom:14px;width:44px;height:44px;object-fit:contain;padding:7px;border-radius:12px;background:var(--c)}
.the-dv-anh::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--c)}
.the-dv-than{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1}
.the-dv-than b{font-size:1.12rem;color:#0C2740}
.the-dv-than > span:not(.the-dv-nut){color:var(--chu-mo);font-size:.92rem;line-height:1.5}
.the-dv-nut{margin-top:auto;padding-top:6px;font-weight:700;color:var(--c)}
@media (max-width:640px){ .the-dv-ds{grid-template-columns:1fr} }

/* ---- v137 mẫu trang dịch vụ: điện thoại HTML ở đầu trang (CPlatform-App) + khối "gồm" không ảnh ---- */
.dv-dt{min-height:470px}
.dv-dt .ud-tb{animation-delay:.3s;width:272px}
.dv-gom.mot-cot{grid-template-columns:1fr}
.dv-gom.mot-cot .dv-gom-ds{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media (max-width:640px){ .dv-dt{min-height:430px;transform:scale(.92);transform-origin:top center} }

/* v141: KHỐI ĐĂNG KÝ DÙNG THỬ (views/public/_dang-ky.ejs) — màu nhấn theo trang (--c) */
.dk{padding:64px 0;scroll-margin-top:76px;background:radial-gradient(700px 300px at 0 0,color-mix(in srgb,var(--c,#12395F) 14%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--c,#12395F) 7%,#fff),var(--nen))}
.dk-khung{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:center}
.dk-nhan{display:inline-block;padding:5px 14px;border-radius:999px;background:color-mix(in srgb,var(--c,#12395F) 14%,#fff);color:color-mix(in srgb,var(--c,#12395F) 80%,#000);font-weight:700;font-size:.85rem;letter-spacing:.02em;margin-bottom:14px}
.dk-chu h2{margin:0 0 .4em;font-size:clamp(1.5rem,3vw,2.1rem)}
.dk-phu{color:var(--chu-mo);font-size:1.05rem}
.dk-y{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.dk-y li{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.dk-y li svg{flex:none;margin-top:4px;color:#fff;background:var(--c,#12395F);border-radius:50%;padding:3px;width:22px;height:22px}
.dk-hop{background:var(--trang);border:1px solid var(--vien);border-radius:20px;padding:28px;box-shadow:0 12px 40px rgba(18,57,95,.10)}
.dk-form{display:grid;gap:14px}
.dk-hai{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dk-o{display:flex;flex-direction:column;gap:5px;min-width:0}
.dk-o span{font-weight:600;font-size:.9rem;color:var(--chinh-dam)}
.dk-o input,.dk-o select{width:100%;font:inherit;padding:11px 13px;border:1px solid var(--vien);border-radius:10px;background:#fff;color:var(--chu)}
.dk-o input:focus,.dk-o select:focus{outline:2px solid color-mix(in srgb,var(--c,#12395F) 45%,transparent);outline-offset:1px;border-color:var(--c,#12395F)}
.dk-nut{margin-top:4px;padding:14px 22px;border:0;border-radius:12px;background:var(--c,#12395F);color:#fff;font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb,var(--c,#12395F) 30%,transparent)}
.dk-nut:hover{filter:brightness(1.08)}
.dk-ghi{margin:0;text-align:center;font-weight:600;color:color-mix(in srgb,var(--c,#12395F) 75%,#000);font-size:.92rem}
.dk-rieng-tu{margin:0;text-align:center;color:var(--chu-mo);font-size:.8rem}
.dk-loi{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#FDECEC;color:#A61B1B;font-weight:600}
.dk-cam-on{text-align:center;padding:24px 8px}
.dk-cam-on-dau{display:inline-flex;width:56px;height:56px;border-radius:50%;align-items:center;justify-content:center;background:#0E7C66;color:#fff;margin-bottom:12px}
.dk-cam-on-dau svg{width:28px;height:28px}
.dk-cam-on p{margin:0;font-size:1.08rem;font-weight:600;color:var(--chinh-dam)}
@media (max-width:860px){.dk-khung{grid-template-columns:1fr;gap:26px}.dk-hop{padding:22px 18px}}
@media (max-width:520px){.dk-hai{grid-template-columns:1fr}}

/* v149: NÚT GỌI + ZALO NỔI (views/partials/_nut-noi.ejs) — góc dưới TRÁI, khung chat ở góc phải */
.nn{position:fixed;left:16px;bottom:18px;z-index:59;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.nn a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;border-radius:999px;box-shadow:0 8px 22px rgba(12,39,64,.25);font-weight:700}
.nn a:hover{text-decoration:none;filter:brightness(1.06)}
.nn-goi{background:#0E7C66;color:#fff;padding:10px 18px 10px 14px}
.nn-goi span{display:flex;flex-direction:column;line-height:1.15;font-size:.95rem}
.nn-goi small{font-weight:600;font-size:.78rem;opacity:.9}
.nn-goi svg{animation:nn-rung 2.4s ease-in-out infinite}
@keyframes nn-rung{0%,86%,100%{transform:rotate(0)}88%{transform:rotate(-14deg)}92%{transform:rotate(14deg)}96%{transform:rotate(-8deg)}}
.nn-zalo{width:52px;height:52px;justify-content:center;background:#0068FF;color:#fff}
.nn-zalo-chu{font-size:.8rem;letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){.nn-goi svg{animation:none}}
@media (max-width:520px){.nn{left:12px;bottom:14px}.nn-goi small{display:none}}

/* v144: KHỐI BỘ NÃO AI — SỰ KHÁC BIỆT (mẫu cplatform, khối 'bo_nao') — khác hẳn các khối khác: nền tối tím than, nơ-ron phát sáng */
.bn{position:relative;overflow:hidden;padding:76px 0;color:#E9E6FF;scroll-margin-top:76px;
  background:radial-gradient(600px 300px at 85% 20%,rgba(227,180,92,.16),transparent 70%),radial-gradient(700px 380px at 10% 90%,rgba(124,156,255,.18),transparent 70%),linear-gradient(135deg,#0B1B3A 0%,#1A1F55 55%,#2A2370 100%)}
.bn::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.bn .khung{position:relative}
.bn-dau{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.bn-nhan{display:inline-block;padding:6px 14px;border-radius:999px;border:1px solid rgba(227,180,92,.6);color:#F2CF86;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(227,180,92,.08)}
.bn-chu h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.5rem);margin:16px 0 .4em;line-height:1.2}
.bn-chu h2::after{content:'';display:block;width:72px;height:3px;margin-top:16px;border-radius:3px;background:linear-gradient(90deg,#E3B45C,#7C9CFF)}
.bn-phu{color:#C9C4F2;font-size:1.08rem;margin:0}
.bn-hinh{position:relative;min-height:240px}
.bn-hinh img{width:100%;border-radius:20px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 80px rgba(5,8,30,.6),0 0 60px rgba(124,156,255,.25)}
.bn-mang{width:100%;height:auto;filter:drop-shadow(0 0 12px rgba(227,180,92,.35))}
.bn-sang{transform-box:fill-box;transform-origin:center;animation:bn-tho 3.2s ease-in-out infinite}
.bn-s1{animation-delay:.8s}.bn-s2{animation-delay:1.6s}.bn-s3{animation-delay:2.4s}
@keyframes bn-tho{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){.bn-sang,.bn-cham{animation:none}}
.bn-tru{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:44px}
.bn-tru-o{padding:22px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(4px)}
.bn-tru-bieu{display:inline-flex;width:48px;height:48px;border-radius:14px;align-items:center;justify-content:center;color:#1A1F55;background:linear-gradient(135deg,#F2CF86,#E3B45C);box-shadow:0 0 24px rgba(227,180,92,.45);margin-bottom:12px}
.bn-tru-o b{display:block;color:#fff;font-size:1.08rem}
.bn-tru-o p{margin:6px 0 0;color:#C9C4F2;font-size:.95rem}
.bn-ss{margin-top:44px}
.bn-ss h3{color:#fff;text-align:center;margin:0 0 16px;font-size:1.3rem}
.bn-ss-bang{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.bn-ss-dong{display:grid;grid-template-columns:1fr 1fr}
.bn-ss-dong>span{padding:13px 18px;display:flex;gap:10px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.08)}
.bn-ss-dau>span{font-weight:700;letter-spacing:.02em;border-top:0;background:rgba(255,255,255,.06);color:#AFA9DA}
.bn-ss-dau>span:last-child{color:#1A1F55;background:linear-gradient(90deg,#F2CF86,#E3B45C)}
.bn-ho{color:#9C97C4}
.bn-ho i{color:#E0707A;font-style:normal;font-weight:700}
.bn-co{color:#fff;background:rgba(227,180,92,.07)}
.bn-co i{color:#F2CF86;font-style:normal;font-weight:700;text-shadow:0 0 10px rgba(227,180,92,.8)}
.bn-cuoi{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px}
.bn-ghi{margin:0;color:#F2CF86;font-weight:600;display:flex;align-items:center;gap:10px}
.bn-cham{width:10px;height:10px;border-radius:50%;background:#E3B45C;box-shadow:0 0 0 0 rgba(227,180,92,.7);animation:bn-dap 1.8s infinite}
@keyframes bn-dap{0%{box-shadow:0 0 0 0 rgba(227,180,92,.7)}70%{box-shadow:0 0 0 12px rgba(227,180,92,0)}100%{box-shadow:0 0 0 0 rgba(227,180,92,0)}}
.bn-nut{display:inline-block;padding:13px 24px;border-radius:12px;border:0;font:inherit;font-weight:700;cursor:pointer;color:#1A1F55;text-decoration:none;
  background:linear-gradient(135deg,#F2CF86,#E3B45C);box-shadow:0 10px 30px rgba(227,180,92,.35)}
.bn-nut:hover{text-decoration:none;filter:brightness(1.06)}
@media (max-width:860px){.bn{padding:56px 0}.bn-dau{grid-template-columns:1fr;gap:20px}.bn-ss-dong>span{padding:11px 12px;font-size:.92rem}}

/* v142: KHỐI TÍNH NĂNG NỔI BẬT (mẫu cplatform, khối 'noi_bat') — nhãn Đã có / Sắp ra mắt từng dòng */
.cp-noi-bat{background:radial-gradient(800px 320px at 100% 0,rgba(124,77,255,.10),transparent 70%),linear-gradient(180deg,#F7F5FF,var(--nen))}
.cp-nb-giua{text-align:center}
.cp-nb-nhan{display:inline-block;padding:5px 14px;border-radius:999px;background:linear-gradient(90deg,#7C4DFF,#2F6FED);color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.04em;margin-bottom:12px}
.cp-nb-than{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;align-items:center;margin-top:28px}
.cp-nb-than.mot-cot{grid-template-columns:minmax(0,860px);justify-content:center}
.cp-nb-ds{display:grid;gap:14px}
.cp-nb-mot{display:flex;gap:14px;align-items:flex-start;background:var(--trang);border:1px solid var(--vien);border-radius:16px;padding:16px 18px}
.cp-nb-bieu{flex:none;width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#7C4DFF,#2F6FED)}
.cp-nb-mot b{color:var(--chinh-dam);font-size:1.02rem}
.cp-nb-mot p{margin:4px 0 0;color:var(--chu-mo);font-size:.94rem}
.cp-nb-tt{display:inline-block;margin-left:6px;padding:1px 9px;border-radius:999px;font-size:.74rem;font-weight:700;vertical-align:2px}
.cp-nb-tt.co{background:#E6F6EF;color:#0E7C66}
.cp-nb-tt.sap{background:#FFF1E0;color:#B35C00}
.cp-nb-anh{margin:0}
.cp-nb-anh img{width:100%;border-radius:18px;box-shadow:0 18px 50px rgba(18,57,95,.16)}
@media (max-width:860px){.cp-nb-than{grid-template-columns:1fr;gap:22px}}

/* ============================================================ v154: BẢNG GIÁ mẫu phần mềm (khối bang_gia) + nút xem bản demo */
.cp-nut-demo::before{content:"";width:8px;height:8px;border-radius:50%;background:#3DDC84;margin-right:9px;box-shadow:0 0 0 4px rgba(61,220,132,.22)}
.cp-gia-khoi{background:linear-gradient(180deg,var(--nen) 0%,#EEF3F9 100%)}
.cp-gia{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;max-width:1180px;margin:22px auto 0}
.cp-gia.so-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px}
.cp-gia.so-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px}
.cp-gia.so-1{grid-template-columns:minmax(0,420px);justify-content:center}
.cp-gia-the{position:relative;display:flex;flex-direction:column;background:#fff;border:1.5px solid #D9E2EC;border-radius:20px;padding:28px 22px 22px;
  box-shadow:0 8px 24px rgba(12,39,64,.06);transition:transform .2s,box-shadow .2s}
.cp-gia-the:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(12,39,64,.12)}
.cp-gia-the.noi-bat{background:linear-gradient(165deg,#123C66 0%,#0C2740 72%);border-color:#C8922F;color:#E6EDF5;box-shadow:0 22px 48px rgba(12,39,64,.32);transform:translateY(-8px)}
.cp-gia-the.noi-bat:hover{transform:translateY(-11px)}
.cp-gia-nhan{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,#EBB956,#C8922F);color:#0C2740;font-size:.76rem;
  font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:5px 14px;border-radius:99px;white-space:nowrap;box-shadow:0 6px 14px rgba(200,146,47,.35)}
.cp-gia-ten{font-size:1.18rem;color:#0C2740}
.cp-gia-the.noi-bat .cp-gia-ten{color:#fff}
.cp-gia-phu{display:block;margin-top:4px;font-size:.88rem;color:var(--chu-mo);min-height:1.35em}
.cp-gia-the.noi-bat .cp-gia-phu{color:#B8C7D9}
.cp-gia-so{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;margin:16px 0 18px;padding-bottom:16px;border-bottom:1px dashed #D9E2EC}
.cp-gia-the.noi-bat .cp-gia-so{border-color:rgba(255,255,255,.18)}
.cp-gia-so span{font-size:2.15rem;font-weight:800;line-height:1;color:#0C2740;letter-spacing:-.01em}
.cp-gia-the.noi-bat .cp-gia-so span{color:#F2C46B}
.cp-gia-so small{font-weight:600;color:var(--chu-mo)}
.cp-gia-the.noi-bat .cp-gia-so small{color:#B8C7D9}
.cp-gia-the ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:9px;font-size:.93rem}
.cp-gia-the li{display:flex;gap:9px;align-items:flex-start;line-height:1.45}
.cp-gia-the li svg{flex:none;margin-top:1px;color:#1E8E5A}
.cp-gia-the.noi-bat li svg{color:#F2C46B}
.cp-gia-nut{margin-top:auto;display:flex;justify-content:center;padding:12px 16px;border-radius:12px;font:inherit;font-weight:700;border:1.5px solid #0C2740;
  color:#0C2740;background:#fff;cursor:pointer;text-align:center}
.cp-gia-nut:hover{text-decoration:none;background:#0C2740;color:#fff}
.cp-gia-the.noi-bat .cp-gia-nut{background:linear-gradient(180deg,#EBB956,#C8922F);border-color:#C8922F;color:#0C2740}
.cp-gia-the.noi-bat .cp-gia-nut:hover{filter:brightness(1.06)}
.cp-gia-ghi{list-style:none;padding:0;margin:28px auto 0;max-width:860px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;color:var(--chu-mo);font-size:.92rem}
.cp-gia-ghi li::before{content:"•";color:#C8922F;margin-right:7px;font-weight:800}
@media (max-width:1100px){ .cp-gia,.cp-gia.so-3{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;row-gap:30px} }
@media (max-width:620px){ .cp-gia,.cp-gia.so-3,.cp-gia.so-2{grid-template-columns:1fr;max-width:440px} .cp-gia-the.noi-bat,.cp-gia-the.noi-bat:hover{transform:none} }

/* ============================================================ v154: TRANG THƯỜNG CỦA MẢNG — trang trí (views/public/trang-con.ejs) */
.tc-hero{position:relative;overflow:hidden;color:#fff;padding:26px 0 54px;
  background:radial-gradient(120% 140% at 85% 0%,color-mix(in srgb,var(--mau) 55%,#fff) 0%,transparent 55%),
             linear-gradient(135deg,color-mix(in srgb,var(--mau) 70%,#0C2740) 0%,var(--mau) 100%)}
.tc-hoa{position:absolute;right:-70px;top:-50px;width:440px;height:440px;opacity:.17;color:#fff;pointer-events:none}
.tc-hero-khung{position:relative}
.tc-hero .duong-dan,.tc-hero .duong-dan a{color:rgba(255,255,255,.82)}
.tc-mang{display:inline-flex;align-items:center;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.32);padding:5px 13px;border-radius:99px;margin:16px 0 12px}
.tc-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2;margin:0 0 .35em;max-width:24ch}
.tc-tom{font-size:1.12rem;color:rgba(255,255,255,.92);max-width:62ch;margin:0}
.tc-menu{position:relative;margin:-22px 0 28px;padding:8px;background:var(--trang);border:1px solid var(--vien);border-radius:16px;box-shadow:var(--bong);width:max-content;max-width:100%}
.tc-menu a{border-color:transparent}
.tc-menu a.dang{background:var(--mau);border-color:var(--mau)}
.tc-bo-cuc{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;margin-bottom:44px}
.tc-bai.noi-dung{background:none;border:0;box-shadow:none;padding:0}
.tc-dau{font-size:1.08rem;margin:0 0 18px}
.tc-muc{position:relative;background:var(--trang);border:1px solid var(--vien);border-radius:18px;padding:26px 30px 14px 88px;margin:0 0 18px;box-shadow:var(--bong)}
.tc-so{position:absolute;left:26px;top:26px;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-weight:800;font-size:.95rem;color:#fff;
  background:linear-gradient(135deg,var(--mau),color-mix(in srgb,var(--mau) 60%,#fff));box-shadow:0 8px 18px color-mix(in srgb,var(--mau) 30%,transparent)}
.tc-bai .tc-muc h2{margin:8px 0 12px;font-size:1.32rem;color:color-mix(in srgb,var(--mau) 70%,#0C2740)}
.tc-than ol,.tc-than ul{padding-left:0;list-style:none}
.tc-than li,.tc-than li[data-list="bullet"],.tc-than li[data-list="ordered"]{list-style:none;position:relative;padding-left:32px;margin-bottom:.65em}
.tc-than li::before{content:"✓";position:absolute;left:0;top:.12em;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;
  color:var(--mau);background:color-mix(in srgb,var(--mau) 15%,#fff)}
.tc-than ol{counter-reset:tc}
.tc-than li[data-list="ordered"]{counter-increment:tc}
.tc-than li[data-list="ordered"]::before{content:counter(tc)}
.tc-than .tc-luoi{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:6px 0 16px}
.tc-than .tc-luoi li{margin:0;padding:18px 16px 14px;border:1px solid color-mix(in srgb,var(--mau) 22%,var(--vien));border-radius:14px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--mau) 7%,#fff),#fff);line-height:1.5;font-size:.95rem}
.tc-than .tc-luoi li::before{position:static;width:30px;height:30px;font-size:.85rem;margin:0 0 10px;color:#fff;background:var(--mau)}
.tc-than .tc-luoi li strong{display:block;font-size:1.04rem;color:color-mix(in srgb,var(--mau) 70%,#0C2740);margin-bottom:4px}
.tc-ghi{font-size:.88rem;color:var(--chu-mo);border-left:3px solid color-mix(in srgb,var(--mau) 45%,#fff);padding:4px 0 4px 12px}
.tc-nut-dong{margin:16px 0 10px}
.tc-nut-dong a{display:inline-flex;align-items:center;padding:11px 20px;border-radius:12px;background:var(--mau);color:#fff;font-weight:700;
  box-shadow:0 8px 18px color-mix(in srgb,var(--mau) 28%,transparent)}
.tc-nut-dong a::after{content:"→";margin-left:8px}
.tc-nut-dong a:hover{text-decoration:none;filter:brightness(1.08)}
.tc-ben{position:sticky;top:84px}
.tc-ben-the{border-radius:18px;padding:24px 22px;color:#fff;background:linear-gradient(160deg,color-mix(in srgb,var(--mau) 75%,#0C2740),var(--mau));box-shadow:var(--bong)}
.tc-ben-bieu{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.15);margin-bottom:12px}
.tc-ben-the b{display:block;font-size:1.15rem;margin-bottom:6px}
.tc-ben-the p{margin:0 0 16px;color:rgba(255,255,255,.88);font-size:.93rem}
.tc-ben-nut,.tc-ben-vien{display:flex;justify-content:center;width:100%;padding:11px 14px;border-radius:12px;font:inherit;font-weight:700;margin-top:8px;cursor:pointer}
.tc-ben-nut{background:#fff;color:color-mix(in srgb,var(--mau) 75%,#0C2740);border:0}
.tc-ben-vien{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.tc-ben-nut:hover,.tc-ben-vien:hover{text-decoration:none;filter:brightness(1.05)}
.tc-ben-dt{display:block;text-align:center;margin-top:12px;color:#fff;font-weight:700}
.tc-anh-em{margin:0 0 56px}
.tc-anh-em h2{font-size:1.3rem;margin:0 0 14px}
.tc-ae-luoi{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.tc-ae{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 18px 40px;border:1px solid var(--vien);border-radius:16px;background:var(--trang);
  color:var(--chu);box-shadow:var(--bong);transition:transform .2s,border-color .2s}
.tc-ae:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--mau)}
.tc-ae-so{font-weight:800;color:var(--mau);font-size:.85rem}
.tc-ae b{font-size:1.02rem}
.tc-ae-mo{color:var(--chu-mo);font-size:.9rem}
.tc-ae i{position:absolute;right:16px;bottom:12px;font-style:normal;color:var(--mau);font-weight:800}
@media (max-width:900px){ .tc-bo-cuc{grid-template-columns:1fr} .tc-ben{position:static} }
@media (max-width:600px){ .tc-muc{padding:72px 18px 10px} .tc-so{left:18px;top:18px} .tc-menu{width:auto} }

/* ============================================================ v160: BẢNG TÍNH GIÁ (khối tinh_gia) */
.cp-tg-khoi{background:var(--nen)}
.cp-tg{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;max-width:1080px;margin:22px auto 0;align-items:start}
.cp-tg-cau{display:grid;gap:14px}
.cp-tg-mot{margin:0;border:1.5px solid #D9E2EC;border-radius:16px;padding:16px 18px;background:#fff}
.cp-tg-mot legend{font-weight:700;color:#0C2740;padding:0 6px}
.cp-tg-lc{display:inline-flex;align-items:center;gap:8px;margin:6px 10px 2px 0;padding:8px 12px;border:1.5px solid #D9E2EC;border-radius:99px;cursor:pointer;font-size:.93rem}
.cp-tg-lc input{margin:0;accent-color:#C8922F}
.cp-tg-lc:has(input:checked){border-color:#C8922F;background:#FBF4E6}
.cp-tg-kq{position:sticky;top:90px;display:flex;flex-direction:column;gap:6px;padding:24px 22px;border-radius:20px;color:#E6EDF5;
  background:linear-gradient(165deg,#123C66 0%,#0C2740 72%);box-shadow:0 22px 48px rgba(12,39,64,.28)}
.cp-tg-nhan{font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#F2C46B}
.cp-tg-ten{font-size:1.5rem;color:#fff}
.cp-tg-phu{color:#B8C7D9;font-size:.9rem;min-height:1.2em}
.cp-tg-gia span{font-size:1.9rem;font-weight:800;color:#F2C46B}
.cp-tg-nam{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08)}
.cp-tg-nam span{font-weight:700;color:#fff}
.cp-tg-nam small{color:#B8C7D9}
.cp-tg-ds{list-style:none;padding:0;margin:6px 0;display:grid;gap:5px;font-size:.9rem}
.cp-tg-ds li::before{content:"✓";color:#F2C46B;font-weight:800;margin-right:8px}
.cp-tg-ck{display:flex;gap:6px;margin:6px 0 10px}
.cp-tg-ck button{flex:1;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:10px;padding:8px;font:inherit;font-weight:600;cursor:pointer}
.cp-tg-ck button.dang{background:#fff;color:#0C2740;border-color:#fff}
.cp-tg-nut{background:linear-gradient(180deg,#EBB956,#C8922F)!important;border-color:#C8922F!important;color:#0C2740!important}
.cp-tg-ghi{text-align:center;color:var(--chu-mo);font-size:.9rem;margin:20px auto 0;max-width:760px}
.dk-goi{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#FBF4E6;color:#7A4B00;font-weight:600;font-size:.92rem}
.dk-goi[hidden]{display:none}
@media (max-width:860px){ .cp-tg{grid-template-columns:1fr} .cp-tg-kq{position:static} }

/* v167 — SỐ LIÊN HỆ THEO DỊCH VỤ: số theo mảng ở chân trang / trang Liên hệ (v255 bỏ nút chữ "Ngoài giờ") */
.so-mang span{opacity:.8}

