VND
<!--
TIẾT KIỆM 260K
-->
- 9 giờ học · 60+ videos
- Excel Functions & Power Query
- Power Pivot & Dashboard
- E-learning trọn đời
Mua Level 1
PHỔ BIẾN NHẤT
VND
<!--
TIẾT KIỆM 550K
-->
- 16 giờ học · 100+ videos
- Excel → Google Sheets
- AI: Copilot + Gemini
- Apps Script Automation
- Update miễn phí + Community
Mua Combo · Tiết
kiệm 5%
VND
<!--
TIẾT KIỆM 320K
-->
- 7 giờ học · 40+ videos
- Google Sheets Advanced
- Apps Script Automation
- Gemini AI Integration
Mua Level 2
<!-- U24 notice (đúng vị trí: ngay trên toggle)
U24: Giảm thêm 500K nếu bạn dưới 24 tuổi (sinh viên hoặc mới ra trường)
-->
<!-- Toggle
-->
.data-pricing-wrapper, .data-pricing-wrapper *, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper *{
box-sizing: border-box !important;
font-family: 'League Spartan', sans-serif !important;
}
.data-pricing-wrapper{
--g: #1F7244;
--g-dark: #155c35;
--ink: #0F172A;
--ink2: #1E293B;
--muted: #64748B;
--line: #E3E8EF;
--line-soft: #EEF2F6;
--paper: #FFFFFF;
--danger: #DC2626;
position: relative;
overflow: hidden;
padding: 56px 0;
background: linear-gradient(180deg, #FFFFFF 0%, #F1FAF4 55%, #FFFFFF 100%);
line-height: normal;
color: inherit;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper{
--g: #1F7244;
--g-dark: #155c35;
--ink: #0F172A;
--ink2: #1E293B;
--muted: #64748B;
--line: #E3E8EF;
--line-soft: #EEF2F6;
--paper: #FFFFFF;
--danger: #DC2626;
position: relative;
overflow: hidden;
padding: 56px 0;
background: linear-gradient(180deg, #FFFFFF 0%, #F1FAF4 55%, #FFFFFF 100%);
line-height: normal;
color: inherit !important;
}
.data-pricing-wrapper .dp-bg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .dp-bg{
position: absolute;
inset: 0;
background: url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%231F7244%27 fill-opacity=%270.04%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E');
pointer-events: none;
z-index: 0;
}
.data-pricing-wrapper>*:not(.dp-bg), .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper>*:not(.dp-bg){
position: relative;
z-index: 1;
}
/* MAIN HEADER */
.data-pricing-wrapper .pricing-header, .et-db.et-db.et-db #et-boc .et-l /* MAIN HEADER */
.data-pricing-wrapper .pricing-header{
text-align: center;
max-width: 760px;
margin: 0 auto 30px;
}
.data-pricing-wrapper .pricing-badge{
display: inline-block;
background: rgba(31, 114, 68, 0.10);
padding: 7px 16px;
border-radius: 100px;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.2px;
color: var(--g-dark);
margin-bottom: 14px;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-badge{
display: inline-block;
background: rgba(31, 114, 68, 0.10);
padding: 7px 16px;
border-radius: 100px;
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.2px;
color: var(--g-dark) !important;
margin-bottom: 14px;
}
.data-pricing-wrapper .pricing-header h2, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-header h2{
font-size: clamp(28px, 4vw, 42px) !important;
font-weight: 800 !important;
color: var(--ink) !important;
margin: 0 0 12px !important;
line-height: 1.15 !important;
letter-spacing: -0.02em;
}
.data-pricing-wrapper .pricing-header p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-header p{
font-size: 17px !important;
color: var(--muted) !important;
line-height: 1.6 !important;
margin: 0 !important;
}
/* ===== PHẦN 1: EXCEL OPTIONS ===== */
.data-pricing-wrapper .excel-pricing-section, .et-db.et-db.et-db #et-boc .et-l /* ===== PHẦN 1: EXCEL OPTIONS ===== */
.data-pricing-wrapper .excel-pricing-section{
margin-bottom: 48px;
}
.data-pricing-wrapper .excel-section-header, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-section-header{
text-align: center;
max-width: 700px;
margin: 0 auto 24px;
}
.data-pricing-wrapper .excel-icon-wrapper{
width: 56px;
height: 56px;
background: rgba(31, 114, 68, 0.12);
color: var(--g);
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 12px;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-icon-wrapper{
width: 56px;
height: 56px;
background: rgba(31, 114, 68, 0.12);
color: var(--g) !important;
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 12px;
}
.data-pricing-wrapper .excel-icon-wrapper svg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-icon-wrapper svg{
width: 28px;
height: 28px;
}
.data-pricing-wrapper .excel-section-header h3, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-section-header h3{
font-size: 26px !important;
font-weight: 800 !important;
color: var(--ink) !important;
margin: 0 0 10px !important;
line-height: 1.25 !important;
letter-spacing: -0.01em;
}
.data-pricing-wrapper .excel-section-header p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-section-header p{
font-size: 16px !important;
color: var(--muted) !important;
font-weight: 500 !important;
margin: 0 !important;
}
.data-pricing-wrapper .excel-options-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-options-container{
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
max-width: 88%;
margin: 0 auto;
}
/* Card cao bang nhau.
Khoi tfa_pricing sinh ra mot the div bao quanh tung card, va CHINH no moi la o luoi.
O luoi thi duoc keo cao bang hang, con card ben trong van chi cao bang noi dung, nen ba
card lech nhau. display:contents bo cai the bao khoi hop dieu day: card tro lai la o luoi
va tu keo cao bang nhau, con cac quy tac flex-grow / margin-top:auto san co trong card lo
phan day nut xuong day. */
.data-pricing-wrapper .excel-options-container > .tfa-pricing, .data-pricing-wrapper .pricing-container > .tfa-pricing, .et-db.et-db.et-db #et-boc .et-l /* Card cao bang nhau.
Khoi tfa_pricing sinh ra mot the div bao quanh tung card, .et-db.et-db.et-db #et-boc .et-l va CHINH no moi la o luoi.
O luoi thi duoc keo cao bang hang, .et-db.et-db.et-db #et-boc .et-l con card ben trong van chi cao bang noi dung, .et-db.et-db.et-db #et-boc .et-l nen ba
card lech nhau. display:contents bo cai the bao khoi hop dieu day: card tro lai la o luoi
va tu keo cao bang nhau, .et-db.et-db.et-db #et-boc .et-l con cac quy tac flex-grow / margin-top:auto san co trong card lo
phan day nut xuong day. */
.data-pricing-wrapper .excel-options-container > .tfa-pricing, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-container > .tfa-pricing{ display: contents; }
.data-pricing-wrapper .excel-option, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-option{
background: var(--paper);
border: 1px solid var(--line);
border-radius: 18px;
padding: 24px 22px;
display: flex;
flex-direction: column;
position: relative;
box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease;
}
.data-pricing-wrapper .excel-option:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-option:hover{
transform: translateY(-6px);
border-color: rgba(31, 114, 68, 0.35);
box-shadow: 0 16px 42px rgba(15, 23, 42, 0.10);
}
.data-pricing-wrapper .excel-option.featured, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-option.featured{
background: linear-gradient(135deg, #F2FBF5 0%, #FFFFFF 100%);
border: 1.5px solid var(--g);
box-shadow: 0 16px 44px rgba(31, 114, 68, 0.14);
}
.data-pricing-wrapper .featured-badge{
position: absolute;
top: -14px;
left: 50%;
transform: translateX(-50%);
display: inline-flex;
align-items: center;
gap: 6px;
background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%);
color: #fff;
padding: 7px 18px;
border-radius: 100px;
font-size: 11px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.5px;
box-shadow: 0 6px 16px rgba(31, 114, 68, 0.32);
white-space: nowrap;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .featured-badge{
position: absolute;
top: -14px;
left: 50%;
transform: translateX(-50%);
display: inline-flex;
align-items: center;
gap: 6px;
background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%);
color: #fff !important;
padding: 7px 18px;
border-radius: 100px;
font-size: 11px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.5px;
box-shadow: 0 6px 16px rgba(31, 114, 68, 0.32);
white-space: nowrap;
}
.data-pricing-wrapper .featured-badge svg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .featured-badge svg{
width: 13px;
height: 13px;
}
.data-pricing-wrapper .option-header, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-header{
text-align: center;
margin-bottom: 12px;
padding-bottom: 12px;
border-bottom: 1px solid var(--line-soft);
}
.data-pricing-wrapper .option-label, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-label{
font-size: 12px !important;
font-weight: 800 !important;
color: var(--muted) !important;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 6px;
}
.data-pricing-wrapper .option-label.combo, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-label.combo{
color: var(--g) !important;
}
.data-pricing-wrapper .option-title, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-title{
font-size: 19px !important;
font-weight: 700 !important;
color: var(--ink) !important;
line-height: 1.3;
}
.data-pricing-wrapper .option-price, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-price{
text-align: center;
margin-bottom: 14px;
}
.data-pricing-wrapper .price-amount, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-amount{
font-size: 38px !important;
font-weight: 800 !important;
color: var(--g) !important;
line-height: 1;
letter-spacing: -0.02em;
}
.data-pricing-wrapper .option-price.combo .price-amount, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-price.combo .price-amount{
color: var(--g) !important;
}
.data-pricing-wrapper .price-unit, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-unit{
font-size: 15px !important;
font-weight: 600 !important;
color: var(--muted) !important;
margin-left: 4px;
}
.data-pricing-wrapper .option-price.combo, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-price.combo{
margin-bottom: 12px;
}
.data-pricing-wrapper .price-strikethrough, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-strikethrough{
font-size: 17px !important;
color: #9CA3AF !important;
text-decoration: line-through;
font-weight: 500;
margin-bottom: 2px;
}
.data-pricing-wrapper .price-main-combo, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-main-combo{
margin: 6px 0;
}
.data-pricing-wrapper .price-save{
display: inline-block;
background: var(--danger);
color: #fff;
font-size: 12px !important;
font-weight: 700 !important;
padding: 5px 13px;
border-radius: 100px;
margin-top: 6px;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-save{
display: inline-block;
background: var(--danger);
color: #fff !important;
font-size: 12px !important;
font-weight: 700 !important;
padding: 5px 13px;
border-radius: 100px;
margin-top: 6px;
}
.data-pricing-wrapper .option-features, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-features{
list-style: none;
padding: 0;
margin: 0 0 16px 0;
flex-grow: 1;
}
.data-pricing-wrapper .option-features li, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-features li{
position: relative;
padding: 6px 0 6px 28px;
font-size: 15px !important;
color: var(--ink2) !important;
font-weight: 500;
line-height: 1.5;
}
.data-pricing-wrapper .option-features li::before{
content: '\2713';
position: absolute;
left: 0;
top: 7px;
width: 19px;
height: 19px;
border-radius: 50%;
background: rgba(31, 114, 68, 0.12);
color: var(--g);
font-size: 11px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-features li::before{
content: '\2713';
position: absolute;
left: 0;
top: 7px;
width: 19px;
height: 19px;
border-radius: 50%;
background: rgba(31, 114, 68, 0.12);
color: var(--g) !important;
font-size: 11px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
}
.data-pricing-wrapper .option-features li strong, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-features li strong{
font-weight: 700 !important;
}
.data-pricing-wrapper .option-btn, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-btn{
width: 100%;
padding: 13px 24px;
font-size: 16px !important;
font-weight: 700 !important;
background: var(--paper);
color: var(--g) !important;
border: 2px solid var(--g);
border-radius: 12px;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
display: inline-block;
text-align: center;
}
.data-pricing-wrapper .option-btn:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-btn:hover{
background: var(--g);
color: #fff !important;
transform: translateY(-2px);
box-shadow: 0 10px 24px rgba(31, 114, 68, 0.28);
}
.data-pricing-wrapper .option-btn.featured, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-btn.featured{
background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%);
color: #fff !important;
border-color: var(--g);
box-shadow: 0 6px 18px rgba(31, 114, 68, 0.28);
}
.data-pricing-wrapper .option-btn.featured:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-btn.featured:hover{
background: linear-gradient(135deg, var(--g-dark) 0%, #0f4428 100%);
box-shadow: 0 10px 26px rgba(31, 114, 68, 0.38);
}
/* ===== PHẦN 2: COMBO PACKAGES ===== */
.data-pricing-wrapper .combo-packages-section, .et-db.et-db.et-db #et-boc .et-l /* ===== PHẦN 2: COMBO PACKAGES ===== */
.data-pricing-wrapper .combo-packages-section{
margin-bottom: 0;
}
.data-pricing-wrapper .combo-section-header, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .combo-section-header{
text-align: center;
margin-bottom: 22px;
position: relative;
}
.data-pricing-wrapper .section-divider-line, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .section-divider-line{
width: min(80%, 600px);
height: 1px;
background: linear-gradient(90deg, transparent, var(--line), transparent);
margin: 0 auto 24px;
}
.data-pricing-wrapper .combo-section-header h3, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .combo-section-header h3{
font-size: 26px !important;
font-weight: 800 !important;
color: var(--ink) !important;
margin: 0 0 10px !important;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
line-height: 1.2;
letter-spacing: -0.01em;
}
.data-pricing-wrapper .combo-section-header h3 svg{
width: 26px;
height: 26px;
color: var(--g);
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .combo-section-header h3 svg{
width: 26px;
height: 26px;
color: var(--g) !important;
}
.data-pricing-wrapper .combo-section-header p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .combo-section-header p{
font-size: 16px !important;
color: var(--muted) !important;
font-weight: 500 !important;
margin: 0 !important;
}
/* U24 notice */
.data-pricing-wrapper .pricing-step-notice-wrapper, .et-db.et-db.et-db #et-boc .et-l /* U24 notice */
.data-pricing-wrapper .pricing-step-notice-wrapper{
display: flex;
justify-content: center;
width: 100%;
margin-bottom: 16px;
}
.data-pricing-wrapper .pricing-step-notice, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-step-notice{
display: inline-flex;
align-items: center;
gap: 10px;
max-width: 720px;
background: rgba(31, 114, 68, 0.07);
border: 1px solid rgba(31, 114, 68, 0.20);
border-radius: 14px;
padding: 11px 18px;
}
.data-pricing-wrapper .notice-icon{
display: flex;
flex-shrink: 0;
color: var(--g);
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .notice-icon{
display: flex;
flex-shrink: 0;
color: var(--g) !important;
}
.data-pricing-wrapper .notice-icon svg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .notice-icon svg{
width: 22px;
height: 22px;
}
.data-pricing-wrapper .pricing-step-notice p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-step-notice p{
font-size: 15px !important;
color: var(--g-dark) !important;
font-weight: 600 !important;
margin: 0 !important;
line-height: 1.45 !important;
text-align: left;
}
/* Toggle */
.data-pricing-wrapper .pricing-tabs, .et-db.et-db.et-db #et-boc .et-l /* Toggle */
.data-pricing-wrapper .pricing-tabs{
display: flex !important;
justify-content: center !important;
margin: 0 auto 24px auto !important;
width: 100% !important;
padding: 0 !important;
}
.data-pricing-wrapper .toggle-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-container{
background: var(--paper);
border-radius: 100px;
padding: 5px;
display: inline-flex;
box-shadow: 0 6px 20px rgba(15, 23, 42, 0.07);
border: 1px solid var(--line);
}
.data-pricing-wrapper .toggle-btn{
padding: 11px 28px;
border: none;
background: transparent;
color: var(--muted);
font-size: 16px !important;
font-weight: 700 !important;
cursor: pointer;
border-radius: 100px;
transition: all 0.3s ease;
white-space: nowrap;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn{
padding: 11px 28px;
border: none;
background: transparent;
color: var(--muted) !important;
font-size: 16px !important;
font-weight: 700 !important;
cursor: pointer;
border-radius: 100px;
transition: all 0.3s ease;
white-space: nowrap;
}
.data-pricing-wrapper .toggle-btn.active, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn.active{
background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%);
color: #fff !important;
box-shadow: 0 4px 12px rgba(31, 114, 68, 0.3);
}
.data-pricing-wrapper .toggle-btn:hover:not(.active), .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn:hover:not(.active){
color: var(--g) !important;
}
/* Grid */
.data-pricing-wrapper .pricing-container, .et-db.et-db.et-db #et-boc .et-l /* Grid */
.data-pricing-wrapper .pricing-container{
width: 88%;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
}
.data-pricing-wrapper .combo-grid, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .combo-grid{
width: 88%;
}
.data-pricing-wrapper .pricing-card, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card{
background: var(--paper);
border-radius: 18px;
padding: 24px 22px;
position: relative;
border: 1px solid var(--line);
box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
display: flex;
flex-direction: column;
transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease;
}
.data-pricing-wrapper .pricing-card:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card:hover{
transform: translateY(-6px);
border-color: rgba(31, 114, 68, 0.35);
box-shadow: 0 16px 42px rgba(15, 23, 42, 0.10);
}
.data-pricing-wrapper .pricing-card.featured, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card.featured{
background: linear-gradient(135deg, #F2FBF5 0%, #FFFFFF 100%);
border: 1.5px solid var(--g);
box-shadow: 0 16px 44px rgba(31, 114, 68, 0.14);
}
/* Fade animation (toggle prices) */
@keyframes cardFadeOut, .et-db.et-db.et-db #et-boc .et-l /* Fade animation (toggle prices) */
@keyframes cardFadeOut{
0% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 0;
transform: translateY(-8px);
}
}
@keyframes cardFadeIn {
0% {
opacity: 0;
transform: translateY(8px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.data-pricing-wrapper .pricing-card.fade-out, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card.fade-out{
animation: cardFadeOut 0.25s ease-out forwards;
}
.data-pricing-wrapper .pricing-card.fade-in, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card.fade-in{
animation: cardFadeIn 0.35s ease-out forwards;
}
/* Doi muc gia: card nay len mot nhip. is-switching do plugin gan tren khoi gia trong
320ms, nen animation phai ngan hon nguong do. .fade-in/.fade-out ben tren la cua
script cu cua trang, script do da bi go. */
.data-pricing-wrapper .tfa-pricing.is-switching .pricing-card, .data-pricing-wrapper .tfa-pricing.is-switching .excel-option, .et-db.et-db.et-db #et-boc .et-l /* Doi muc gia: card nay len mot nhip. is-switching do plugin gan tren khoi gia trong
320ms, .et-db.et-db.et-db #et-boc .et-l nen animation phai ngan hon nguong do. .fade-in/.fade-out ben tren la cua
script cu cua trang, .et-db.et-db.et-db #et-boc .et-l script do da bi go. */
.data-pricing-wrapper .tfa-pricing.is-switching .pricing-card, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .tfa-pricing.is-switching .excel-option{
animation: cardPop 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes cardPop {
0% { opacity: 0.35; transform: translateY(8px) scale(0.985); }
60% { opacity: 1; transform: translateY(0) scale(1.012); }
100% { opacity: 1; transform: none; }
}
/* Badge */
.data-pricing-wrapper .card-badge{
position: absolute;
top: -12px;
right: 22px;
display: inline-flex;
align-items: center;
gap: 5px;
padding: 6px 14px;
border-radius: 100px;
font-size: 11px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.5px;
color: #fff;
}.et-db.et-db.et-db #et-boc .et-l /* Badge */
.data-pricing-wrapper .card-badge{
position: absolute;
top: -12px;
right: 22px;
display: inline-flex;
align-items: center;
gap: 5px;
padding: 6px 14px;
border-radius: 100px;
font-size: 11px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.5px;
color: #fff !important;
}
.data-pricing-wrapper .card-badge svg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-badge svg{
width: 12px;
height: 12px;
}
.data-pricing-wrapper .card-badge.popular, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-badge.popular{
background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%);
box-shadow: 0 6px 14px rgba(31, 114, 68, 0.32);
}
/* Icon */
.data-pricing-wrapper .card-icon{
width: 48px;
height: 48px;
border-radius: 14px;
background: rgba(31, 114, 68, 0.12);
color: var(--g);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12px;
}.et-db.et-db.et-db #et-boc .et-l /* Icon */
.data-pricing-wrapper .card-icon{
width: 48px;
height: 48px;
border-radius: 14px;
background: rgba(31, 114, 68, 0.12);
color: var(--g) !important;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12px;
}
.data-pricing-wrapper .card-icon svg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-icon svg{
width: 24px;
height: 24px;
}
/* Title */
.data-pricing-wrapper .card-title, .et-db.et-db.et-db #et-boc .et-l /* Title */
.data-pricing-wrapper .card-title{
text-decoration: none;
display: block;
margin-bottom: 8px;
min-height: 64px;
}
.data-pricing-wrapper .card-title h3, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-title h3{
font-size: 21px !important;
font-weight: 700 !important;
color: var(--ink) !important;
margin: 0 0 4px !important;
line-height: 1.3 !important;
}
.data-pricing-wrapper .card-title h4, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-title h4{
font-size: 14px !important;
font-weight: 600 !important;
color: var(--muted) !important;
line-height: 1.4 !important;
margin: 0 !important;
}
/* Price */
.data-pricing-wrapper .card-price, .et-db.et-db.et-db #et-boc .et-l /* Price */
.data-pricing-wrapper .card-price{
margin: 10px 0 14px 0;
min-height: 58px;
}
.data-pricing-wrapper .price-main, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-main{
display: flex;
align-items: baseline;
gap: 8px;
margin-bottom: 6px;
}
.data-pricing-wrapper .price-current, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-current{
font-size: 30px !important;
font-weight: 800 !important;
color: var(--ink) !important;
line-height: 1 !important;
letter-spacing: -0.02em;
}
.data-pricing-wrapper .price-currency, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-currency{
font-size: 15px !important;
font-weight: 600 !important;
color: var(--muted) !important;
}
.data-pricing-wrapper .price-info, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-info{
display: flex;
align-items: center;
gap: 10px;
}
.data-pricing-wrapper .price-old{
font-size: 14px;
color: #9CA3AF;
text-decoration: line-through;
font-weight: 500;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-old{
font-size: 14px;
color: #9CA3AF !important;
text-decoration: line-through;
font-weight: 500;
}
.data-pricing-wrapper .price-discount{
background: #FEF2F2;
color: var(--danger);
padding: 3px 11px;
border-radius: 100px;
font-size: 12px;
font-weight: 700;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-discount{
background: #FEF2F2;
color: var(--danger) !important;
padding: 3px 11px;
border-radius: 100px;
font-size: 12px;
font-weight: 700;
}
/* Button */
.data-pricing-wrapper .pricing-btn, .et-db.et-db.et-db #et-boc .et-l /* Button */
.data-pricing-wrapper .pricing-btn{
width: 100% !important;
padding: 12px 26px !important;
font-size: 16px !important;
font-weight: 700 !important;
background: var(--paper) !important;
color: var(--g) !important;
border: 2px solid var(--g) !important;
border-radius: 12px !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
margin-bottom: 16px !important;
text-decoration: none !important;
display: inline-block !important;
text-align: center !important;
position: relative !important;
}
.data-pricing-wrapper .pricing-btn:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-btn:hover{
background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%) !important;
color: #fff !important;
transform: translateY(-2px) !important;
box-shadow: 0 10px 24px rgba(31, 114, 68, 0.28) !important;
}
.data-pricing-wrapper .pricing-btn.primary, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-btn.primary{
background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%) !important;
color: #fff !important;
}
.data-pricing-wrapper .pricing-btn.primary:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-btn.primary:hover{
background: linear-gradient(135deg, var(--g-dark) 0%, #0f4428 100%) !important;
}
/* Loading state */
.data-pricing-wrapper .pricing-btn.loading, .data-pricing-wrapper .option-btn.loading, .et-db.et-db.et-db #et-boc .et-l /* Loading state */
.data-pricing-wrapper .pricing-btn.loading, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-btn.loading{
pointer-events: none;
opacity: 0.7;
}
.data-pricing-wrapper .pricing-btn.loading::after, .data-pricing-wrapper .option-btn.loading::after, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-btn.loading::after, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .option-btn.loading::after{
content: '';
position: absolute;
width: 16px;
height: 16px;
top: 50%;
right: 20px;
margin-top: -8px;
border: 2px solid currentColor;
border-radius: 50%;
border-top-color: transparent;
animation: spinner 0.6s linear infinite;
}
@keyframes spinner {
to {
transform: rotate(360deg);
}
}
/* Features */
.data-pricing-wrapper .card-features-wrapper, .et-db.et-db.et-db #et-boc .et-l /* Features */
.data-pricing-wrapper .card-features-wrapper{
flex-grow: 1;
}
.data-pricing-wrapper .features-header, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .features-header{
font-size: 12px !important;
font-weight: 700 !important;
color: var(--muted) !important;
text-transform: uppercase !important;
letter-spacing: 0.06em !important;
margin-bottom: 8px !important;
}
.data-pricing-wrapper .features-list, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .features-list{
list-style: none;
padding: 0;
margin: 0;
}
.data-pricing-wrapper .features-list li{
position: relative;
padding: 6px 0 6px 28px;
color: var(--ink2);
font-size: 15px;
font-weight: 500;
line-height: 1.5;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .features-list li{
position: relative;
padding: 6px 0 6px 28px;
color: var(--ink2) !important;
font-size: 15px;
font-weight: 500;
line-height: 1.5;
}
.data-pricing-wrapper .features-list li::before{
content: '\2713';
position: absolute;
left: 0;
top: 7px;
width: 19px;
height: 19px;
border-radius: 50%;
background: rgba(31, 114, 68, 0.12);
color: var(--g);
font-size: 11px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .features-list li::before{
content: '\2713';
position: absolute;
left: 0;
top: 7px;
width: 19px;
height: 19px;
border-radius: 50%;
background: rgba(31, 114, 68, 0.12);
color: var(--g) !important;
font-size: 11px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
}
/* Footer */
.data-pricing-wrapper .pricing-footer, .et-db.et-db.et-db #et-boc .et-l /* Footer */
.data-pricing-wrapper .pricing-footer{
text-align: center;
margin-top: 28px;
padding: 20px;
background: var(--paper);
border-radius: 18px;
border: 1px solid var(--line);
box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
width: 88%;
margin-left: auto;
margin-right: auto;
}
.data-pricing-wrapper .pricing-footer p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer p{
font-size: 15px !important;
color: var(--ink2) !important;
font-weight: 500 !important;
margin: 6px 0 !important;
line-height: 1.6 !important;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
}
.data-pricing-wrapper .pricing-footer svg{
width: 18px;
height: 18px;
color: var(--g);
flex-shrink: 0;
}.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer svg{
width: 18px;
height: 18px;
color: var(--g) !important;
flex-shrink: 0;
}
.data-pricing-wrapper .pricing-footer a, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer a{
color: var(--g) !important;
text-decoration: none !important;
font-weight: 600 !important;
}
.data-pricing-wrapper .pricing-footer a:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer a:hover{
text-decoration: underline !important;
}
/* ===== Scroll reveal (fade up — matches sections above) ===== */
.dp-js .pricing-header, .dp-js .excel-section-header, .dp-js .excel-option, .dp-js .combo-section-header, .dp-js .pricing-step-notice-wrapper, .dp-js .pricing-tabs, .dp-js .pricing-card, .dp-js .pricing-footer, .et-db.et-db.et-db #et-boc .et-l /* ===== Scroll reveal (fade up — matches sections above) ===== */
.dp-js .pricing-header, .et-db.et-db.et-db #et-boc .et-l .dp-js .excel-section-header, .et-db.et-db.et-db #et-boc .et-l .dp-js .excel-option, .et-db.et-db.et-db #et-boc .et-l .dp-js .combo-section-header, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-step-notice-wrapper, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-tabs, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-card, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-footer{
opacity: 0;
transform: translateY(22px);
transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.dp-js .pricing-header.dp-in, .dp-js .excel-section-header.dp-in, .dp-js .excel-option.dp-in, .dp-js .combo-section-header.dp-in, .dp-js .pricing-step-notice-wrapper.dp-in, .dp-js .pricing-tabs.dp-in, .dp-js .pricing-card.dp-in, .dp-js .pricing-footer.dp-in, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-header.dp-in, .et-db.et-db.et-db #et-boc .et-l .dp-js .excel-section-header.dp-in, .et-db.et-db.et-db #et-boc .et-l .dp-js .excel-option.dp-in, .et-db.et-db.et-db #et-boc .et-l .dp-js .combo-section-header.dp-in, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-step-notice-wrapper.dp-in, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-tabs.dp-in, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-card.dp-in, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-footer.dp-in{
opacity: 1;
transform: none;
}
/* keep hover lift working after reveal */
.dp-js .excel-option.dp-in:hover, .dp-js .pricing-card.dp-in:hover, .et-db.et-db.et-db #et-boc .et-l /* keep hover lift working after reveal */
.dp-js .excel-option.dp-in:hover, .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-card.dp-in:hover{
transform: translateY(-6px);
}
.dp-js .excel-options-container .excel-option:nth-child(2), .et-db.et-db.et-db #et-boc .et-l .dp-js .excel-options-container .excel-option:nth-child(2){
transition-delay: 0.08s;
}
.dp-js .excel-options-container .excel-option:nth-child(3), .et-db.et-db.et-db #et-boc .et-l .dp-js .excel-options-container .excel-option:nth-child(3){
transition-delay: 0.16s;
}
.dp-js .pricing-container .pricing-card:nth-child(2), .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-container .pricing-card:nth-child(2){
transition-delay: 0.08s;
}
.dp-js .pricing-container .pricing-card:nth-child(3), .et-db.et-db.et-db #et-boc .et-l .dp-js .pricing-container .pricing-card:nth-child(3){
transition-delay: 0.16s;
}
/* ===== Responsive ===== */
@media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* ===== Responsive ===== */
@media (max-width: 1024px){
.data-pricing-wrapper .excel-options-container,
.data-pricing-wrapper .pricing-container,
.data-pricing-wrapper .combo-grid,
.data-pricing-wrapper .pricing-footer {
width: 92%;
max-width: 92%;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.data-pricing-wrapper .combo-grid, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .combo-grid{
grid-template-columns: repeat(2, 1fr);
}}
@media (max-width: 768px) {
.data-pricing-wrapper, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper{
padding: 44px 0;
}
.data-pricing-wrapper .pricing-header, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-header{
margin-bottom: 24px;
}
.data-pricing-wrapper .excel-pricing-section, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-pricing-section{
margin-bottom: 36px;
}
.data-pricing-wrapper .excel-options-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .excel-options-container{
grid-template-columns: 1fr;
gap: 18px;
width: 90%;
max-width: 90%;
}
.data-pricing-wrapper .pricing-container, .data-pricing-wrapper .combo-grid, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .combo-grid{
grid-template-columns: 1fr;
gap: 18px;
width: 90%;
}
.data-pricing-wrapper .pricing-footer, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer{
width: 90%;
}
.data-pricing-wrapper .toggle-btn, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn{
font-size: 14px !important;
padding: 10px 18px;
flex: 1;
}
.data-pricing-wrapper .toggle-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-container{
width: 90%;
}
.data-pricing-wrapper .pricing-step-notice p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-step-notice p{
font-size: 14px !important;
}}
@media (max-width: 480px) {
.data-pricing-wrapper .price-amount, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-amount{
font-size: 34px !important;
}}
/* Scroll reveal */
(function () {
var w = document.querySelector('.data-pricing-wrapper');
if (!w) return;
var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
if (reduce || !('IntersectionObserver' in window)) return;
w.classList.add('dp-js');
var els = [].slice.call(w.querySelectorAll('.pricing-header, .excel-section-header, .excel-option, .combo-section-header, .pricing-step-notice-wrapper, .pricing-tabs, .pricing-card, .pricing-footer'));
var io = new IntersectionObserver(function (entries) {
entries.forEach(function (en) {
if (en.isIntersecting) {
en.target.classList.add('dp-in');
io.unobserve(en.target);
}
});
}, { threshold: 0.1, rootMargin: '0px 0px -70px 0px' });
els.forEach(function (el) { io.observe(el); });
})();