/* Trang landing (sinh bởi act2026/css/landing_css.py từ landing.src.css, đừng sửa trực tiếp) */
.lp {
  --ic-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --ic-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --ic-dollar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M16.5 7.5c-.6-1.5-2.3-2.5-4.5-2.5-2.6 0-4.5 1.4-4.5 3.4 0 4.6 9 2.6 9 7.2 0 2-1.9 3.4-4.5 3.4-2.3 0-4.1-1.1-4.7-2.8'/%3E%3C/svg%3E");
  --ic-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 11 12 4l8.5 7'/%3E%3Cpath d='M5.5 9.5V20h13V9.5'/%3E%3Cpath d='M10 20v-5.5h4V20'/%3E%3C/svg%3E");
  --ic-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.6V4.5a1 1 0 0 1 1-1h8.1l8 8a1.5 1.5 0 0 1 0 2.1l-6.4 6.4a1.5 1.5 0 0 1-2.1 0z'/%3E%3Ccircle cx='8' cy='8' r='1.5'/%3E%3C/svg%3E");
  --ic-coin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='6.5' rx='7' ry='3'/%3E%3Cpath d='M5 6.5v5.5c0 1.7 3.1 3 7 3s7-1.3 7-3V6.5M5 12v5.5c0 1.7 3.1 3 7 3s7-1.3 7-3V12'/%3E%3C/svg%3E");
  --ic-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3M12 14.5v2.5'/%3E%3C/svg%3E");
  --ic-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E");
  --ic-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4.5 6v5.5c0 4.6 3.1 8.3 7.5 9.5 4.4-1.2 7.5-4.9 7.5-9.5V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --ic-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l1.5 4.5-2 1.5a11 11 0 0 0 6 6l1.5-2 4.5 1.5V19a1.5 1.5 0 0 1-1.6 1.5A16 16 0 0 1 3.5 5.6 1.5 1.5 0 0 1 5 4z'/%3E%3C/svg%3E");
  --ic-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E");
  --ic-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  --ic-headset: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 13v-1a7.5 7.5 0 0 1 15 0v1'/%3E%3Crect x='3.5' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='16.5' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M18.5 19v.5a2.5 2.5 0 0 1-2.5 2.5h-3'/%3E%3C/svg%3E");
  --ic-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='m8.5 14-1.5 7.5 5-2.5 5 2.5-1.5-7.5'/%3E%3C/svg%3E");
  --ic-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.5-3.5 3.1-5.5 6.5-5.5s6 2 6.5 5.5'/%3E%3Cpath d='M16 4.7a3.5 3.5 0 0 1 0 6.6M18 14.8c2 .7 3.2 2.5 3.5 5.2'/%3E%3C/svg%3E");
  --ic-net: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='2.5'/%3E%3Ccircle cx='5' cy='18' r='2.5'/%3E%3Ccircle cx='19' cy='18' r='2.5'/%3E%3Cpath d='M10.8 7.2 6.2 15.8M13.2 7.2l4.6 8.6M7.5 18h9'/%3E%3C/svg%3E");
  --ic-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4'/%3E%3C/svg%3E");
}

/* ---------- Trang dịch vụ dạng landing (bố cục layout.landing.tpl) ----------
   Nội dung trang bọc trong <div class="lp">, mỗi khối là <div class="lp-sec ..."><div class="lp-in">...</div></div>.
   Icon gắn bằng class trên khối chứa (vd lp-i-sun), vẽ bằng mask nên trình soạn thảo không làm mất. */
.lp { --lp-navy: #0E2F61; --lp-blue: #1F5FBF; --lp-sun: #FFC83D; --lp-green: #1E9E5A; --lp-ink: #13294B; --lp-muted: #5A6B85; --lp-line: #E1E8F2; --lp-bg: #F3F7FC;
  color: var(--lp-ink); font-size: 16px; line-height: 1.6; }
body.a26 .lp-page { padding-block: 0; }
.lp-page .page.panel { margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.lp-page .page > .panel-body { padding: 0; }
.lp-page .page h1.title, .lp-page .page .hometext { display: none; }
.lp-page #page-bodyhtml { margin: 0; }
.lp *, .lp *::before, .lp *::after { box-sizing: border-box; }
.lp p { margin: 0 0 14px; }
.lp img { max-width: 100%; height: auto; }
.lp figure.image { margin: 0; display: block; }
/* Trình soạn thảo bọc bảng trong figure.table khi lưu */
.lp figure.table { margin: 0; display: block; }
.lp-more { margin-top: auto; }
.lp figure.image img { display: block; width: 100%; }
.lp-in { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.lp-sec { padding: 84px 0; }
.lp-alt { background: var(--lp-bg); }
.lp-center { text-align: center; }
.lp-center > .lp-in > p, .lp-head p { max-width: 640px; margin-inline: auto; color: var(--lp-muted); }
.lp-eyebrow { margin: 0 0 10px !important; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-blue); }
body.a26 .lp h2 { margin: 0 0 12px; font-size: clamp(26px, 3vw, 36px); line-height: 1.22; font-weight: 800; letter-spacing: -.01em; color: var(--lp-ink); }
body.a26 .lp h3 { margin: 0 0 6px; font-size: 17px; line-height: 1.35; font-weight: 700; color: var(--lp-ink); }
.lp-head { margin-bottom: 44px; text-align: center; }
.lp .lp-head .lp-eyebrow { margin: 0 auto 10px !important; }

/* Icon: khối có class lp-i-* hiện icon ở ::before */
[class*="lp-i-"]::before { content: ""; display: block; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.lp-i-dollar { --ic: var(--ic-dollar); } .lp-i-home { --ic: var(--ic-home); } .lp-i-tag { --ic: var(--ic-tag); } .lp-i-coin { --ic: var(--ic-coin); }
.lp-i-lock { --ic: var(--ic-lock); } .lp-i-globe { --ic: var(--ic-globe); } .lp-i-shield { --ic: var(--ic-shield); } .lp-i-arrow { --ic: var(--ic-arrow); }
.lp-i-phone { --ic: var(--ic-phone); } .lp-i-mail { --ic: var(--ic-mail); } .lp-i-pin { --ic: var(--ic-pin); } .lp-i-headset { --ic: var(--ic-headset); }
.lp-i-award { --ic: var(--ic-award); } .lp-i-users { --ic: var(--ic-users); } .lp-i-net { --ic: var(--ic-net); } .lp-i-sun { --ic: var(--ic-sun); }

/* Nút */
body.a26 .lp a.lp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 24px; border-radius: 12px; font-size: 15px; font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: background .2s, color .2s, box-shadow .2s; }
body.a26 .lp a.lp-btn::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--ic-arrow) center / contain no-repeat; mask: var(--ic-arrow) center / contain no-repeat; }
body.a26 .lp a.lp-btn-light { background: #fff; color: var(--lp-navy); box-shadow: 0 10px 24px -12px rgba(0,0,0,.45); }
body.a26 .lp a.lp-btn-light:hover { background: var(--lp-sun); color: var(--lp-navy); }
body.a26 .lp a.lp-btn-ghost { color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.6); }
body.a26 .lp a.lp-btn-ghost:hover { background: rgba(255,255,255,.12); color: #fff; }
body.a26 .lp a.lp-btn-blue { background: var(--lp-blue); color: #fff; box-shadow: 0 12px 24px -14px rgba(31,95,191,.9); }
body.a26 .lp a.lp-btn-blue:hover { background: var(--lp-navy); color: #fff; }
body.a26 .lp a.lp-btn-green { background: var(--lp-green); color: #fff; }
body.a26 .lp a.lp-btn-green:hover { background: #17824A; color: #fff; }
body.a26 .lp a.lp-btn-red { background: var(--act-red, #ED1C24); color: #fff; }
body.a26 .lp a.lp-btn-red:hover { background: #CF141B; color: #fff; }
.lp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0 !important; }

/* ---------- Hero: ảnh dự án phủ lớp xanh, thẻ chọn giải pháp bên phải ---------- */
.lp-hero { position: relative; padding: 0; color: #fff; background: #0B2A57 center / cover no-repeat; }
.lp-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,28,62,.94) 0, rgba(7,28,62,.82) 42%, rgba(7,28,62,.45) 100%); }
.lp-hero > .lp-in { position: relative; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 56px; align-items: center; padding-block: 92px 100px; }
.lp-hero .lp-eyebrow { color: var(--lp-sun); }
body.a26 .lp-hero h1 { margin: 0 0 18px; font-size: clamp(32px, 4vw, 50px); line-height: 1.12; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.lp-hl { color: var(--lp-sun); }
.lp-hero-copy > p { color: #D3DEEF; font-size: 17px; max-width: 54ch; }
.lp-hero-copy strong { color: #fff; }
.lp .lp-ticks { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 26px 0 0; padding: 0; list-style: none; font-size: 14px; color: #D3DEEF; }
.lp .lp-ticks li { display: flex; align-items: center; gap: 8px; list-style: none; }
.lp-ticks li::before { content: ""; width: 16px; height: 16px; background: var(--lp-sun); -webkit-mask: var(--ic-check) center / contain no-repeat; mask: var(--ic-check) center / contain no-repeat; }
.lp-hero-card { padding: 28px; border-radius: 20px; background: #fff; color: var(--lp-ink); box-shadow: 0 30px 60px -24px rgba(0,0,0,.55); }
.lp-hero-card > p { margin: 0 0 4px; font-weight: 700; font-size: 17px; }
.lp-hero-card > p + p { margin-bottom: 18px; font-weight: 400; font-size: 14px; color: var(--lp-muted); }
.lp-opt { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; padding: 16px 0; border-top: 1px solid var(--lp-line); }
.lp-opt::before { grid-column: 1; grid-row: 1 / span 3; width: 44px !important; height: 44px !important; border-radius: 12px; -webkit-mask: none !important; mask: none !important; }
.lp-opt::after { content: ""; position: relative; grid-row: 1; grid-column: 1; align-self: start; justify-self: center; width: 22px; height: 22px; margin-top: 11px; background: currentColor; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.lp-opt-ppa { color: var(--lp-green); } .lp-opt-ppa::before { background: #E3F4EA; }
.lp-opt-epc { color: var(--lp-blue); } .lp-opt-epc::before { background: #E4EDFA; }
.lp-opt > * { grid-column: 2; }
body.a26 .lp-opt h3 { margin: 0 0 2px; font-size: 16px; }
.lp-opt p { margin: 0 0 6px; font-size: 14px; color: var(--lp-muted); }
.lp-opt p:last-child { margin: 0; font-size: 15.5px; font-weight: 700; color: inherit; }

/* ---------- Giới thiệu: ảnh + 4 ô số liệu, chữ + 3 ý đánh số ---------- */
.lp-split > .lp-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 56px; align-items: center; }
.lp-media { position: relative; }
.lp-media figure.image img { border-radius: 20px; aspect-ratio: 4 / 3; object-fit: cover; }
.lp-badge { position: absolute; top: 22px; left: -14px; padding: 12px 18px; border-radius: 14px; background: var(--lp-blue); color: #fff; box-shadow: 0 14px 30px -14px rgba(14,47,97,.8); }
.lp-badge p { margin: 0; font-size: 13px; color: #DCE7F7; }
.lp-badge p:first-child { font-size: 24px; font-weight: 800; line-height: 1.15; color: #fff; }
.lp-stats4 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.lp-stat { padding: 16px 18px; border: 1px solid var(--lp-line); border-radius: 14px; background: #fff; }
.lp-stat p { margin: 0; font-size: 13px; color: var(--lp-muted); }
.lp-stat p:first-child { font-size: 22px; font-weight: 800; color: var(--lp-blue); }
.lp-text > p { color: var(--lp-muted); }
.lp-text > p strong { color: var(--lp-ink); }
.lp .lp-num { margin: 24px 0 26px; padding: 0; list-style: none; counter-reset: lpn; display: grid; gap: 16px; }
.lp .lp-num li { position: relative; padding-left: 50px; list-style: none; counter-increment: lpn; color: var(--lp-muted); font-size: 14.5px; }
.lp-num li::before { content: counter(lpn, decimal-leading-zero); position: absolute; left: 0; top: 2px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--lp-blue); color: #fff; font-size: 13px; font-weight: 700; }
.lp-num li strong { display: block; color: var(--lp-ink); font-size: 16px; }

/* ---------- Hệ sinh thái: nền xanh đậm, 4 ô kính ---------- */
.lp-dark { color: #fff; background: radial-gradient(60% 80% at 85% 10%, rgba(80,140,220,.35), transparent 60%), linear-gradient(120deg, #0B2650 0%, #154A92 100%); }
body.a26 .lp-dark h2 { color: #fff; }
.lp-dark .lp-eyebrow { color: var(--lp-sun); }
.lp-dark .lp-head p { color: #C9D6EC; }
.lp-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.lp-tile { position: relative; display: flex; flex-direction: column; align-items: center; padding: 26px 18px; text-align: center; border-radius: 18px; background: rgba(255,255,255,.07); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); color: var(--lp-sun); }
.lp-tile::before { width: 40px !important; height: 40px !important; margin-bottom: 14px; padding: 9px; border-radius: 12px; background: rgba(255,255,255,.12) !important; -webkit-mask: none !important; mask: none !important; }
.lp-tile::after { content: ""; position: absolute; top: 35px; left: 50%; width: 22px; height: 22px; margin-left: -11px; background: currentColor; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.lp-tile p { margin: 0; font-size: 13.5px; color: #C9D6EC; }
.lp-tile p:first-of-type { font-size: 22px; font-weight: 800; color: var(--lp-sun); line-height: 1.25; margin-bottom: 6px; }

/* ---------- Hai giải pháp ---------- */
.lp-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.lp-plan { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 1px 0 var(--lp-line), 0 24px 50px -30px rgba(14,47,97,.45); }
.lp-plan-top { position: relative; overflow: hidden; padding: 26px 28px 22px; color: #fff; }
.lp-plan-top::after { content: ""; position: absolute; right: -60px; top: -80px; width: 200px; height: 200px; border-radius: 50%; background: rgba(255,255,255,.1); }
.lp-plan-ppa .lp-plan-top { background: linear-gradient(120deg, #1E9E5A, #2DB86C); }
.lp-plan-epc .lp-plan-top { background: linear-gradient(120deg, #123B78, #1F5FBF); }
.lp-plan-top p { position: relative; margin: 0; font-size: 14px; color: rgba(255,255,255,.88); }
.lp-plan-top p:first-child { margin-bottom: 4px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.a26 .lp-plan-top h3 { position: relative; margin: 0 0 4px; font-size: 24px; color: #fff; }
.lp-plan-top .lp-plan-tag { position: absolute; top: 22px; right: 22px; z-index: 1; margin: 0 !important; padding: 5px 12px; border-radius: 999px; font-size: 11.5px !important; font-weight: 800 !important; letter-spacing: .04em; text-transform: uppercase; }
.lp-plan-ppa .lp-plan-tag { background: var(--act-red, #ED1C24); color: #fff !important; }
.lp-plan-epc .lp-plan-tag { background: var(--lp-sun); color: var(--lp-navy) !important; }
.lp-plan-body { padding: 24px 28px 28px; display: flex; flex-direction: column; gap: 18px; }
.lp-plan-nums { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lp-plan-nums > div { padding: 14px; text-align: center; border: 1px solid var(--lp-line); border-radius: 14px; }
.lp-plan-nums p { margin: 0; font-size: 13px; color: var(--lp-muted); }
.lp-plan-nums p:first-child { font-size: 26px; font-weight: 800; line-height: 1.2; }
.lp-plan-ppa .lp-plan-nums p:first-child { color: var(--lp-green); }
.lp-plan-epc .lp-plan-nums p:first-child { color: var(--lp-blue); }
.lp .lp-checks { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.lp .lp-checks li { position: relative; padding-left: 30px; list-style: none; font-size: 15px; }
.lp-checks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--c, var(--lp-blue)); }
.lp-checks li::after { content: ""; position: absolute; left: 4px; top: 7px; width: 12px; height: 12px; background: #fff; -webkit-mask: var(--ic-check) center / contain no-repeat; mask: var(--ic-check) center / contain no-repeat; }
.lp-plan-ppa { --c: var(--lp-green); } .lp-plan-epc { --c: var(--lp-blue); }
.lp-fit { margin: 0 !important; padding: 14px 16px; border-radius: 12px; background: var(--lp-bg); font-size: 14px; color: var(--lp-muted); }
.lp-fit strong { color: var(--lp-ink); }
.lp-plan-body .lp-actions { margin: 0 !important; }
.lp-plan-body .lp-actions a.lp-btn { width: 100%; }

/* ---------- Lợi ích: lưới thẻ, ô cuối là lời mời đăng ký ---------- */
.lp-cards3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.lp-card { position: relative; padding: 26px; border: 1px solid var(--lp-line); border-radius: 18px; background: #fff; color: var(--lp-blue); }
.lp-card::before { width: 46px !important; height: 46px !important; margin-bottom: 18px; border-radius: 14px; background: linear-gradient(135deg, #123B78, #1F5FBF) !important; -webkit-mask: none !important; mask: none !important; }
.lp-card::after { content: ""; position: absolute; top: 38px; left: 38px; width: 22px; height: 22px; background: #fff; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.lp-card p { margin: 0; font-size: 14.5px; color: var(--lp-muted); }
.lp-card h3 strong { color: var(--lp-blue); }
.lp-card-cta { border: 0; color: #fff; background: linear-gradient(135deg, #0B2650, #1F5FBF); }
.lp-card-cta::before { background: rgba(255,255,255,.14) !important; }
body.a26 .lp-card-cta h3 { color: #fff; }
.lp-card-cta p { color: #D3DEEF; }
.lp-card-cta .lp-actions { margin-top: 18px !important; }
body.a26 .lp-card-cta a.lp-btn { padding: 10px 18px; font-size: 14px; }

/* ---------- Quy trình 6 bước ---------- */
.lp .lp-steps { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; counter-reset: lps; }
.lp-steps::before { content: ""; position: absolute; left: 8%; right: 8%; top: 27px; border-top: 2px dashed #C3D3EA; }
.lp .lp-steps li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; list-style: none; counter-increment: lps; font-size: 13.5px; color: var(--lp-muted); }
.lp-steps li::before { content: counter(lps); display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 14px; border-radius: 50%; border: 4px solid var(--lp-bg); background: linear-gradient(135deg, #123B78, #1F5FBF); color: #fff; font-size: 20px; font-weight: 800; box-shadow: 0 10px 20px -10px rgba(14,47,97,.8); }
.lp-sec:not(.lp-alt) .lp-steps li::before { border-color: #fff; }
.lp-steps li strong { display: block; margin-bottom: 4px; font-size: 15px; color: var(--lp-ink); }

/* ---------- Năng lực: dải số liệu, ảnh dự án, đối tượng phù hợp ---------- */
.lp-band { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 860px; margin: 0 auto 44px; padding: 26px 10px; border-radius: 20px; text-align: center; color: #fff; background: linear-gradient(110deg, #0B2650, #1F5FBF); box-shadow: 0 26px 50px -26px rgba(14,47,97,.7); }
.lp-band > div + div { border-left: 1px solid rgba(255,255,255,.2); }
.lp-band p { margin: 0; font-size: 13.5px; color: #C9D6EC; }
.lp-band p:first-child { font-size: 26px; font-weight: 800; color: var(--lp-sun); }
.lp-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lp-gallery figure.image:first-child { grid-column: 1 / -1; }
.lp-gallery figure.image img { border-radius: 18px; aspect-ratio: 16 / 9; object-fit: cover; }
.lp-gallery figure.image:first-child img { aspect-ratio: 21 / 9; }
.lp .lp-chips { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }
.lp .lp-chips li { list-style: none; padding: 7px 16px; border-radius: 999px; background: #E9F0FA; color: var(--lp-blue); font-size: 14px; font-weight: 600; }
.lp .lp-chips li:first-child { padding: 0; background: none; color: var(--lp-ink); font-weight: 700; }

/* ---------- Hỏi đáp: hai cột thẻ ---------- */
.lp-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 1000px; margin: 0 auto; }
.lp-faq > div { padding: 22px 24px; border: 1px solid var(--lp-line); border-radius: 16px; background: #fff; }
body.a26 .lp-faq h3 { font-size: 16px; }
.lp-faq p { margin: 0; font-size: 14.5px; color: var(--lp-muted); }

/* ---------- Liên hệ: thẻ liên hệ, băng kêu gọi ---------- */
.lp-contact { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 56px; }
.lp-contact > div { position: relative; display: flex; flex-direction: column; align-items: center; padding: 28px 18px; text-align: center; border: 1px solid var(--lp-line); border-radius: 18px; background: #fff; color: var(--lp-blue); }
.lp-contact > div::before { width: 48px !important; height: 48px !important; margin-bottom: 14px; border-radius: 50%; background: #E4EDFA !important; -webkit-mask: none !important; mask: none !important; }
.lp-contact > div::after { content: ""; position: absolute; top: 41px; left: 50%; width: 22px; height: 22px; margin-left: -11px; background: currentColor; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.lp-contact p { margin: 0; font-size: 15px; font-weight: 600; color: var(--lp-ink); }
.lp-contact p:first-child { margin-bottom: 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-muted); }
body.a26 .lp-contact a { color: var(--lp-ink); text-decoration: none; }
body.a26 .lp-contact a:hover { color: var(--lp-blue); }
.lp-contact > .lp-hot { border-color: transparent; box-shadow: 0 24px 40px -24px rgba(31,95,191,.7); transform: translateY(-6px); }
.lp-contact > .lp-hot::before { background: var(--lp-blue) !important; }
.lp-contact > .lp-hot::after { background: #fff; }
.lp-contact > .lp-hot p:last-child { font-size: 22px; font-weight: 800; }
.lp-cta { padding: 52px 32px; border-radius: 24px; text-align: center; color: #fff; background: radial-gradient(50% 120% at 90% 0%, rgba(255,200,61,.22), transparent 60%), linear-gradient(120deg, #0B2650, #1F5FBF); box-shadow: 0 30px 60px -30px rgba(14,47,97,.8); }
body.a26 .lp-cta h2 { color: #fff; }
.lp-cta p { color: #D3DEEF; }
.lp-cta .lp-actions { justify-content: center; }

/* ---------- Trang dịch vụ (Internet, Truyền hình, Điện thoại cố định) ----------
   Hero không ảnh: nền xanh với hai vòng cung như trang chủ; thẻ bên phải là bảng giá tham khảo theo nhà mạng. */
.lp-hero-plain { overflow: hidden; background: radial-gradient(55% 90% at 0% 100%, rgba(31,95,191,.55), transparent 60%), linear-gradient(120deg, #0A2C5F 0%, #123B78 55%, #1A57AE 100%); }
.lp-hero-plain::before { inset: auto -160px -260px auto; width: 620px; height: 620px; border-radius: 50%; background: none; border: 1.5px solid rgba(255,255,255,.14); }
.lp-hero-plain::after { content: ""; position: absolute; right: -60px; bottom: -300px; width: 460px; height: 460px; border-radius: 50%; border: 1.5px solid rgba(237,28,36,.55); }
.lp-hero-plain > .lp-in { z-index: 1; }
.lp .lp-prices { margin: 0; padding: 0; list-style: none; }
.lp .lp-prices li { display: grid; grid-template-columns: 74px 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--lp-line); list-style: none; font-size: 15px; font-weight: 600; }
.lp-prices li img { max-width: 64px; max-height: 26px; width: auto; height: auto; object-fit: contain; }
.lp-prices li strong { font-size: 17px; font-weight: 800; color: var(--lp-blue); white-space: nowrap; }
.lp-prices li > span > span { display: block; font-size: 12.5px; font-weight: 400; color: var(--lp-muted); }
.lp-hero-card .lp-small { margin: 14px 0 0 !important; font-size: 12.5px !important; font-weight: 400 !important; color: var(--lp-muted); }
.lp-carriers { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; }
.lp-carrier { display: flex; flex-direction: column; padding: 22px 20px; border: 1px solid var(--lp-line); border-radius: 18px; background: #fff; }
.lp-carrier > p:first-child { display: flex; align-items: center; height: 44px; margin: 0 0 14px; }
.lp-carrier > p:first-child img { max-height: 40px; max-width: 140px; width: auto; height: auto; object-fit: contain; }
.lp-from { margin: 0 0 14px !important; font-size: 14px; color: var(--lp-muted); }
.lp-from strong { font-size: 24px; font-weight: 800; color: var(--lp-blue); }
.lp-carrier .lp-checks { margin-bottom: 18px; }
.lp-carrier .lp-checks li { font-size: 14px; }
.lp .lp-links { margin: auto 0 0; padding: 14px 0 0; border-top: 1px solid var(--lp-line); list-style: none; display: grid; gap: 8px; }
.lp .lp-links li { list-style: none; }
body.a26 .lp-links a { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--lp-blue); }
body.a26 .lp-links a::after { content: ""; flex: none; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--ic-arrow) center / contain no-repeat; mask: var(--ic-arrow) center / contain no-repeat; transition: transform .2s; }
body.a26 .lp-links a:hover::after { transform: translateX(3px); }
.lp-note { margin: 0 0 28px !important; padding: 16px 20px; border-radius: 14px; background: #FFF7E0; box-shadow: inset 4px 0 0 var(--lp-sun); font-size: 15px; color: var(--lp-ink); }
.lp-cards4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.lp .lp-steps.lp-steps-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lp-docs { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lp-docs > div { padding: 26px; border: 1px solid var(--lp-line); border-radius: 18px; background: #fff; }
.lp-docs .lp-checks li { font-size: 14.5px; }

/* ---------- Thành phần riêng từng trang dịch vụ ---------- */
/* Internet: số giá lớn và dải logo nhà mạng trong hero */
.lp .lp-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
.lp .lp-logos li { display: grid; place-items: center; width: 92px; height: 48px; padding: 8px 12px; border-radius: 12px; background: #fff; list-style: none; box-shadow: 0 8px 18px -12px rgba(0,0,0,.6); }
.lp-logos img { max-width: 100%; max-height: 30px; width: auto; height: auto; object-fit: contain; }
.lp-bignum { margin: 0 !important; padding: 30px 30px 26px; border-radius: 20px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); color: #D3DEEF; font-size: 15px; }
.lp-bignum strong { display: block; margin: 6px 0 8px; font-size: clamp(44px, 5.4vw, 68px); line-height: 1; font-weight: 800; letter-spacing: -.02em; color: var(--lp-sun); }

/* Bảng so sánh */
.lp-tablewrap { overflow-x: auto; border-radius: 18px; background: #fff; box-shadow: 0 1px 0 var(--lp-line), 0 24px 50px -32px rgba(14,47,97,.45); }
.lp .lp-table { width: 100%; min-width: 720px; margin: 0; border-collapse: collapse; font-size: 15px; }
.lp-table th, .lp-table td { padding: 16px 18px; border: 0; border-bottom: 1px solid var(--lp-line); text-align: left; vertical-align: middle; }
.lp-table thead th { background: var(--lp-navy); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.lp-table tbody tr:last-child > * { border-bottom: 0; }
.lp-table tbody tr:hover { background: #F7FAFE; }
.lp-table tbody th { font-weight: 700; color: var(--lp-ink); white-space: nowrap; }
.lp-table tbody th img { display: block; max-width: 84px; max-height: 26px; width: auto; height: auto; margin-bottom: 4px; }
.lp-table td strong { font-size: 19px; font-weight: 800; color: var(--lp-blue); white-space: nowrap; }
body.a26 .lp-table a { font-weight: 600; text-decoration: none; color: var(--lp-blue); white-space: nowrap; }
body.a26 .lp-table a:hover { text-decoration: underline; }
.lp-table .lp-na { color: #A5B1C4; }
/* Bảng tính năng: cột đầu là tiêu chí, mỗi cột sau một dịch vụ */
.lp-table.lp-features thead th { text-align: center; }
.lp-table.lp-features thead th:first-child { text-align: left; }
.lp-table.lp-features thead th img { display: block; max-height: 30px; max-width: 110px; width: auto; height: auto; margin: 0 auto 8px; padding: 4px 8px; border-radius: 8px; background: #fff; }
.lp-table.lp-features td { text-align: center; color: var(--lp-muted); }
.lp-table.lp-features tbody th { color: var(--lp-muted); font-weight: 600; font-size: 14px; }
.lp .lp-yes { font-weight: 700; color: var(--lp-green); }

/* Truyền hình: hero tối, chữ giữa, ba giá dạng viên */
.lp-hero-tv { overflow: hidden; background: radial-gradient(40% 60% at 15% 20%, rgba(237,28,36,.28), transparent 65%), radial-gradient(45% 70% at 90% 85%, rgba(255,200,61,.22), transparent 65%), #08142B; }
.lp-hero-tv::before { background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 4px); }
.lp-hero-tv > .lp-in { display: block; max-width: 900px; padding-block: 100px 96px; text-align: center; }
.lp-hero-tv .lp-hero-copy > p { margin-inline: auto; }
.lp-hero-tv .lp-actions, .lp-hero-tv .lp-ticks { justify-content: center; }
.lp .lp-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 34px 0 0; padding: 0; list-style: none; }
.lp .lp-pills li { display: flex; align-items: center; gap: 12px; padding: 10px 18px 10px 10px; border-radius: 999px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); list-style: none; color: #fff; font-weight: 600; }
.lp-pills img { width: 64px; height: 36px; padding: 5px 8px; border-radius: 999px; background: #fff; object-fit: contain; }
.lp-pills strong { color: var(--lp-sun); }

/* Băng combo: nền đỏ cam, bên phải các ưu đãi */
.lp-combo { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: 40px 44px; border-radius: 24px; color: #fff; background: linear-gradient(120deg, #B3121A, #ED1C24 45%, #F58A1F); box-shadow: 0 30px 60px -30px rgba(179,18,26,.8); }
body.a26 .lp-combo h2 { color: #fff; }
.lp-combo > div > p { color: #FFE3DC; }
.lp .lp-combo .lp-eyebrow { color: #FFE08A; }
.lp .lp-perks { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.lp .lp-perks li { padding: 16px 18px; border-radius: 14px; background: rgba(255,255,255,.14); list-style: none; font-size: 14.5px; color: #FFEDE8; }
.lp-perks li strong { display: block; font-size: 18px; color: #fff; }
body.a26 .lp .lp-chips a { text-decoration: none; color: inherit; }

/* Điện thoại: hero nền sáng, phiếu cước */
.lp-hero-light { overflow: hidden; color: var(--lp-ink); background: linear-gradient(180deg, #EEF4FC, #F8FBFF); }
.lp-hero-light::before { inset: auto auto -200px -160px; width: 520px; height: 520px; border-radius: 50%; background: none; border: 1.5px solid rgba(31,95,191,.12); }
body.a26 .lp-hero-light h1 { color: var(--lp-navy); }
.lp .lp-hero-light .lp-eyebrow { color: var(--act-red, #ED1C24); }
.lp-hero-light .lp-hl { color: var(--lp-blue); }
.lp-hero-light .lp-hero-copy > p { color: var(--lp-muted); }
.lp-hero-light .lp-hero-copy strong { color: var(--lp-ink); }
.lp-hero-light .lp-ticks { color: var(--lp-muted); }
.lp-hero-light .lp-ticks li::before { background: var(--lp-green); }
body.a26 .lp-hero-light a.lp-btn-light { background: var(--lp-navy); color: #fff; }
body.a26 .lp-hero-light a.lp-btn-light:hover { background: var(--lp-blue); color: #fff; }
body.a26 .lp-hero-light a.lp-btn-ghost { color: var(--lp-navy); box-shadow: inset 0 0 0 1.5px var(--lp-navy); }
body.a26 .lp-hero-light a.lp-btn-ghost:hover { background: #fff; color: var(--lp-navy); }
.lp-receipt { position: relative; justify-self: center; width: min(100%, 380px); padding: 30px 28px 26px; background: #fff; border-radius: 6px 6px 0 0; box-shadow: 0 30px 50px -28px rgba(14,47,97,.5); transform: rotate(1.5deg); }
.lp-receipt::after { content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 12px; background: linear-gradient(-45deg, transparent 8px, #fff 0) 0 0 / 16px 12px repeat-x, linear-gradient(45deg, transparent 8px, #fff 0) 0 0 / 16px 12px repeat-x; }
.lp-receipt > p:first-child { margin: 0 0 2px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--lp-muted); }
body.a26 .lp-receipt h3 { margin-bottom: 16px; padding-bottom: 14px; border-bottom: 2px dashed var(--lp-line); font-size: 19px; }
.lp .lp-bill { margin: 0; padding: 0; list-style: none; font-size: 14.5px; }
.lp .lp-bill li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; list-style: none; color: var(--lp-muted); }
.lp-bill .lp-v { font-weight: 600; color: var(--lp-ink); white-space: nowrap; }
.lp .lp-receipt .lp-total { display: flex; justify-content: space-between; align-items: baseline; margin: 14px 0 0; padding-top: 14px; border-top: 2px dashed var(--lp-line); font-weight: 700; }
.lp-total strong { font-size: 30px; font-weight: 800; color: var(--lp-blue); }
.lp .lp-receipt .lp-small { margin: 10px 0 0; font-size: 12.5px; color: var(--lp-muted); }

/* Các loại dịch vụ xếp thành hàng ngang */
.lp-rows { display: grid; gap: 16px; }
.lp-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 220px; gap: 28px; align-items: center; padding: 24px 28px; border: 1px solid var(--lp-line); border-radius: 18px; background: #fff; }
.lp-row > p:first-child { margin: 0; }
.lp-row > p:first-child img { max-width: 100px; max-height: 36px; width: auto; height: auto; }
.lp .lp-row .lp-checks { margin-top: 10px; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.lp .lp-row .lp-checks li { font-size: 14px; }
.lp-row-price { padding-left: 24px; border-left: 1px solid var(--lp-line); }
.lp-row-price p { margin: 0 0 10px; font-size: 14px; color: var(--lp-muted); }
.lp-row-price strong { display: block; font-size: 26px; font-weight: 800; color: var(--lp-blue); line-height: 1.15; }
.lp .lp-row-price .lp-links { padding: 0; border: 0; }

/* Hero ảnh: ảnh nằm bên phải, lớp xanh đậm phủ bên trái để đặt chữ */
.lp-hero.lp-hero-photo { background-color: #0A2C5F; background-size: 0 0; }
/* Ảnh (lấy từ style của khối) vẽ trong khung nửa phải, căn vào giữa ảnh */
.lp-hero-photo::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; z-index: 0; width: 56%; background: inherit; background-size: cover; background-position: 45% center; }
.lp-hero-photo::before { z-index: 1; background: linear-gradient(90deg, #0A2C5F 0, #0A2C5F 44%, rgba(10,44,95,.55) 50%, rgba(10,44,95,0) 60%); }
.lp-hero-photo > .lp-in { z-index: 2; }
.lp-hero-photo > .lp-in { grid-template-columns: minmax(0, 1fr); padding-block: 96px 104px; }
.lp-hero-photo .lp-hero-copy { max-width: 600px; }
.lp-price-tag { display: inline-flex; align-items: baseline; gap: 8px; margin: 0 0 18px !important; padding: 8px 16px; border-radius: 12px; background: rgba(255,200,61,.14); box-shadow: inset 0 0 0 1px rgba(255,200,61,.4); color: #FFE7A6 !important; font-size: 15px !important; }
.lp-price-tag strong { font-size: 26px; font-weight: 800; color: var(--lp-sun) !important; }

/* Hình minh họa vector ở cột phải hero */
.lp .lp-art { justify-self: center; width: 100%; max-width: 560px; }
.lp .lp-art img { width: 100%; height: auto; }

/* Thẻ có ảnh phía trên (chọn theo nhu cầu) */
.lp-pcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.lp-pcard { overflow: hidden; border: 1px solid var(--lp-line); border-radius: 20px; background: #fff; box-shadow: 0 20px 40px -32px rgba(14,47,97,.6); }
.lp .lp-pcard figure.image { position: relative; }
.lp .lp-pcard figure.image img { aspect-ratio: 16 / 9; object-fit: cover; object-position: center top; }
.lp-pcard figure.image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(10,44,95,.35)); }
.lp-pcard > div { padding: 22px 24px 26px; }
.lp-pcard > div > p:first-child { margin: 0 0 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--act-red, #ED1C24); }
.lp-pcard p { color: var(--lp-muted); font-size: 14.5px; }
.lp .lp-pcard .lp-checks { margin-top: 12px; }
.lp .lp-pcard .lp-checks li { font-size: 14px; }

/* Khối bản đồ khu vực phục vụ */
.lp-map figure.image img { aspect-ratio: 16 / 10; object-fit: cover; border-radius: 20px; box-shadow: 0 24px 50px -30px rgba(14,47,97,.6); }
.lp-map .lp-badge { top: auto; bottom: 22px; left: 22px; }

/* ---------- Màn hình vừa, điện thoại ---------- */
@media (max-width: 1000px) {
  .lp-hero > .lp-in, .lp-split > .lp-in, .lp-plans { grid-template-columns: 1fr; }
  .lp-hero > .lp-in { gap: 36px; padding-block: 64px 72px; }
  .lp-tiles, .lp-contact { grid-template-columns: 1fr 1fr; }
  .lp-cards3 { grid-template-columns: 1fr 1fr; }
  .lp-cards4 { grid-template-columns: 1fr 1fr; }
  .lp-pcards { grid-template-columns: 1fr 1fr; }
  .lp .lp-art { max-width: 420px; }
  .lp-hero-photo::after { width: 100%; background-position: 70% center; }
  .lp-hero-photo::before { background: linear-gradient(90deg, rgba(10,44,95,.95), rgba(10,44,95,.7)); }
  .lp-combo { grid-template-columns: 1fr; padding: 32px 26px; }
  .lp-row { grid-template-columns: 1fr; gap: 14px; }
  .lp-row-price { padding: 14px 0 0; border-left: 0; border-top: 1px solid var(--lp-line); }
  .lp-receipt { transform: none; }
  .lp .lp-steps.lp-steps-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lp .lp-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
  .lp-steps::before { display: none; }
  .lp-contact > .lp-hot { transform: none; }
}
@media (max-width: 640px) {
  .lp-sec { padding: 56px 0; }
  .lp-in { padding: 0 16px; }
  .lp-tiles, .lp-contact, .lp-cards3, .lp-cards4, .lp-faq, .lp-docs { grid-template-columns: 1fr; }
  .lp .lp-steps.lp-steps-5 { grid-template-columns: 1fr 1fr; }
  .lp-hero-plain::before, .lp-hero-plain::after { display: none; }
  .lp .lp-row .lp-checks { grid-template-columns: 1fr; }
  .lp-pcards { grid-template-columns: 1fr; }
  .lp-hero-photo > .lp-in { padding-block: 64px 72px; }
  /* Bảng gói cước: mỗi nhà mạng thành một thẻ (tên, giá; ba link xếp ngang) */
  .lp .lp-table { min-width: 0; }
  .lp-table thead { display: none; }
  .lp-table tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 8px; align-items: center; padding: 16px; border-bottom: 1px solid var(--lp-line); }
  .lp-table tbody tr:last-child { border-bottom: 0; }
  .lp-table tbody th, .lp-table td { padding: 0; border: 0; }
  .lp-table tbody th { grid-column: 1 / 3; }
  .lp-table td:nth-child(2) { text-align: right; }
  .lp-table td:nth-child(n+3) { font-size: 13.5px; }
  body.a26 .lp-table a { white-space: normal; }
  .lp-hero-tv > .lp-in { padding-block: 64px; }
  .lp .lp-logos li { width: 76px; height: 42px; }
  .lp .lp-steps { grid-template-columns: 1fr 1fr; }
  .lp-band { grid-template-columns: 1fr; gap: 14px; padding: 20px; }
  .lp-band > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); padding-top: 14px; }
  .lp-gallery { grid-template-columns: 1fr; }
  .lp-gallery figure.image:first-child img, .lp-gallery figure.image img { aspect-ratio: 16 / 10; }
  .lp-badge { left: 12px; }
  .lp-actions a.lp-btn { flex: 1 1 100%; }
  .lp-plan-top, .lp-plan-body { padding-inline: 20px; }
  .lp-cta { padding: 40px 20px; }
}
@media (prefers-reduced-motion: reduce) { body.a26 .lp a.lp-btn { transition: none; } }

/* ---------- Hiện dần khi cuộn tới (act2026.js gắn lp-anim, lp-rv, lp-shown; --lp-d là độ trễ so le) ---------- */
.lp-anim .lp-rv { opacity: 0; transform: translateY(28px); transition: opacity .7s ease var(--lp-d, 0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--lp-d, 0ms); }
.lp-anim .lp-rv.lp-shown { opacity: 1; transform: none; }
.lp-anim .lp-hero-card.lp-rv { transform: translateY(28px) scale(.97); }
.lp-anim .lp-hero-card.lp-rv.lp-shown { transform: none; }
.lp-anim .lp-contact > .lp-hot.lp-shown { transform: translateY(-6px); }
.lp-anim .lp-gallery > .lp-rv { transform: scale(.96); }
.lp-anim .lp-gallery > .lp-rv.lp-shown { transform: none; }
@media (max-width: 1000px) { .lp-anim .lp-contact > .lp-hot.lp-shown { transform: none; } }
