.ctv-page{background:var(--color-background,#fafafa);color:var(--color-text,#171717);font-family:var(--font-body,Inter,sans-serif);min-height:100vh}.ctv-header{background:var(--color-primary,#1e3a8a);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.12)}.ctv-header-inner{max-width:1280px;margin:0 auto;padding:0 1rem;justify-content:space-between;height:64px}.ctv-brand,.ctv-header-inner{display:flex;align-items:center}.ctv-brand{font-size:1.25rem;font-weight:700;color:#fff;text-decoration:none;gap:.5rem;font-family:var(--font-heading,Inter,sans-serif)}.ctv-brand-icon{width:36px;height:36px;background:hsla(0,0%,100%,.15);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.ctv-brand-icon,.ctv-nav-link{border-radius:var(--radius-md,.5rem)}.ctv-nav-link{color:hsla(0,0%,100%,.85);text-decoration:none;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.ctv-nav-link:hover{color:#fff;background:hsla(0,0%,100%,.1)}.ctv-hero{background:linear-gradient(135deg,var(--color-primary,#1e3a8a) 0,var(--color-accent,#3b82f6) 50%,var(--color-secondary,#fbbf24) 100%);padding:4rem 1rem;text-align:center;position:relative;overflow:hidden}.ctv-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,hsla(0,0%,100%,.08) 0,transparent 60%),radial-gradient(circle at 70% 80%,hsla(0,0%,100%,.05) 0,transparent 50%);pointer-events:none}.ctv-hero-inner{max-width:800px;margin:0 auto;position:relative;z-index:1}.ctv-hero h1{font-family:var(--font-heading,Inter,sans-serif);font-size:clamp(1.75rem,5vw,3rem);font-weight:900;color:#fff;margin-bottom:.75rem;line-height:1.15;text-shadow:0 4px 16px rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.2);letter-spacing:-.02em}.ctv-hero p{font-size:clamp(1.05rem,2.5vw,1.35rem);color:#fff;margin-bottom:2rem;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.25);line-height:1.6}.ctv-hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.ctv-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:var(--radius-md,.5rem);font-weight:700;font-size:1rem;text-decoration:none;transition:all .25s ease;cursor:pointer;border:none;text-shadow:0 1px 2px rgba(0,0,0,.1);letter-spacing:.01em}.ctv-btn-primary{background:var(--color-secondary,#fbbf24);color:var(--color-primary,#1e3a8a);box-shadow:0 4px 14px rgba(0,0,0,.1)}.ctv-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15);filter:brightness(1.05)}.ctv-btn-secondary{background:hsla(0,0%,100%,.15);color:#fff;backdrop-filter:blur(4px);border:1px solid hsla(0,0%,100%,.2)}.ctv-btn-secondary:hover{background:hsla(0,0%,100%,.25)}.ctv-btn-zalo{background:var(--color-secondary,#fbbf24);color:var(--color-primary,#1e3a8a);font-weight:700}.ctv-btn-zalo:hover{filter:brightness(1.05);transform:translateY(-2px)}.ctv-section{padding:3rem 1rem}.ctv-section-inner{max-width:1280px;margin:0 auto}.ctv-section-title{font-family:var(--font-heading,Inter,sans-serif);font-size:2rem;font-weight:900;color:var(--color-primary,#1e3a8a);text-align:center;margin-bottom:.5rem;letter-spacing:-.02em}.ctv-section-desc{text-align:center;color:var(--color-textSecondary,#6b7280);font-size:1.125rem;margin-bottom:2.5rem;font-weight:500;line-height:1.6}.ctv-table-wrap{background:var(--color-backgroundSecondary,#fff);border-radius:var(--radius-lg,1rem);overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.06);margin-bottom:3rem}.ctv-table{width:100%;border-collapse:collapse}.ctv-table thead{background:var(--color-primary,#1e3a8a)}.ctv-table thead th{color:#fff;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;padding:1rem .75rem;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.2)}.ctv-table thead th:first-child{text-align:left;padding-left:1.25rem}.ctv-table thead th:last-child{padding-right:1.25rem}.ctv-table tbody tr{border-bottom:1px solid rgba(0,0,0,.05);transition:background .15s ease}.ctv-table tbody tr:last-child{border-bottom:none}.ctv-table tbody tr:hover{background:var(--color-background,#f8fafc)}.ctv-table td{padding:.875rem .75rem;vertical-align:middle;text-align:center;font-size:.95rem}.ctv-table td:first-child{text-align:left;padding-left:1.25rem}.ctv-product-cell{display:flex;align-items:center;gap:.75rem}.ctv-product-img{-o-object-fit:cover;object-fit:cover}.ctv-product-avatar,.ctv-product-img{width:40px;height:40px;border-radius:var(--radius-md,.5rem);flex-shrink:0}.ctv-product-avatar{background:var(--color-accent,#3b82f6);color:var(--color-primary,#1e3a8a);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.ctv-product-name{font-weight:700;color:var(--color-text,#171717);font-size:1rem;line-height:1.4}.ctv-product-desc{font-size:.85rem;color:var(--color-textSecondary,#6b7280);font-weight:500;line-height:1.5}.ctv-badge{background:var(--color-accent,#3b82f6);padding:.2rem .65rem;border-radius:var(--radius-full,9999px);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ctv-badge,.ctv-price{display:inline-block;color:var(--color-primary,#1e3a8a)}.ctv-price{font-weight:800;font-size:1.05rem;cursor:pointer;text-decoration:none;padding:.4rem .7rem;border-radius:var(--radius-sm,.25rem);transition:all .2s ease}.ctv-price:hover{background:var(--color-secondary,#fbbf24);color:var(--color-primary,#1e3a8a);transform:scale(1.05)}.ctv-price-empty{color:var(--color-textSecondary,#9ca3af);font-size:.875rem}.ctv-price-hot{position:relative}.ctv-price-hot:after{content:"HOT";position:absolute;top:-6px;right:-10px;background:var(--color-error,#ef4444);color:#fff;font-size:.55rem;font-weight:800;padding:.1rem .35rem;border-radius:var(--radius-full,9999px);line-height:1.2}.ctv-buy-btn{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-secondary,#fbbf24);color:var(--color-primary,#1e3a8a);padding:.55rem 1.3rem;border-radius:var(--radius-md,.5rem);font-weight:800;font-size:.875rem;text-decoration:none;transition:all .2s ease;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.08);letter-spacing:.02em}.ctv-buy-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.ctv-cta{background:var(--color-primary,#1e3a8a);padding:4rem 1rem;text-align:center}.ctv-cta h2{font-family:var(--font-heading,Inter,sans-serif);font-size:2.25rem;font-weight:900;color:#fff;margin-bottom:.5rem;text-shadow:0 4px 16px rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.2);letter-spacing:-.02em}.ctv-cta p{color:#fff;font-size:1.15rem;margin-bottom:2rem;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.25)}.ctv-footer{background:var(--color-primary,#1e3a8a);color:hsla(0,0%,100%,.85);padding:3rem 1rem 1.5rem}.ctv-footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}.ctv-footer h3,.ctv-footer h4{color:var(--color-secondary,#fbbf24);font-weight:700;margin-bottom:.75rem}.ctv-footer h3{font-size:1.15rem}.ctv-footer h4{font-size:.95rem}.ctv-footer a,.ctv-footer p{font-size:.875rem;line-height:1.7}.ctv-footer a{color:hsla(0,0%,100%,.7);text-decoration:none;transition:color .2s ease}.ctv-footer a:hover{color:var(--color-secondary,#fbbf24)}.ctv-footer-link{color:hsla(0,0%,100%,.7);text-decoration:none;font-size:.875rem;transition:color .2s ease}.ctv-footer-link:hover{color:var(--color-secondary,#fbbf24)}.ctv-footer-bottom{max-width:1280px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid hsla(0,0%,100%,.1);text-align:center;font-size:.8rem;color:hsla(0,0%,100%,.5)}.ctv-zalo-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;width:56px;height:56px;border-radius:50%;background:var(--color-secondary,#fbbf24);color:var(--color-primary,#1e3a8a);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.15);text-decoration:none;transition:all .3s ease;font-size:1.5rem}.ctv-zalo-fab:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(0,0,0,.2)}.ctv-zalo-fab:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--color-secondary,#fbbf24);opacity:.3;animation:ctv-pulse 2s ease-in-out infinite}@keyframes ctv-pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.15);opacity:0}}@media (max-width:768px){.ctv-hero{padding:3rem 1rem}.ctv-table-wrap{border-radius:var(--radius-md,.5rem)}.ctv-section{padding:2rem .75rem}.ctv-footer-inner{grid-template-columns:1fr}.ctv-header-inner{padding:0 .75rem}}@media (max-width:640px){.ctv-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.ctv-table{min-width:600px}}