/* =====================================================
   Page: Bảng Giá Sản Xuất Video Doanh Nghiệp
   File: assets/css/page-bang-gia.css
   Màu sắc lấy trực tiếp từ Figma node data
   ===================================================== */
@font-face {
  font-family: 'SF Pro Display';
  src: url('../fonts/SF-Pro-Display/SF-Pro-Display-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SF Pro Display';
  src: url('../fonts/SF-Pro-Display/SF-Pro-Display-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SF Pro Display';
  src: url('../fonts/SF-Pro-Display/SF-Pro-Display-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SF Pro Display';
  src: url('../fonts/SF-Pro-Display/SF-Pro-Display-Semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SF Pro Display';
  src: url('../fonts/SF-Pro-Display/SF-Pro-Display-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SF Pro Display';
  src: url('../fonts/SF-Pro-Display/SF-Pro-Display-Heavy.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SF Pro Display';
  src: url('../fonts/SF-Pro-Display/SF-Pro-Display-Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* ── CSS Variables (từ Figma) ── */
:root {
  --bp-primary: #E31B23;
  /* brand red Figma */
  --bp-primary-dim: rgba(227, 27, 35, 0.10);
  --bp-dark-hero: #1A0306;
  /* Figma hero dark */
  --bp-white: #FFFFFF;
  --bp-bg-alt: #FAF6F6;
  /* rgb(250,246,246) Figma */
  --bp-text: #1F2937;
  /* rgb(31,41,55) Figma */
  --bp-text-sub: #6B7280;
  /* rgb(107,114,128) Figma */
  --bp-text-light: #9CA3AF;
  --bp-border: #E5E7EB;
  --bp-border-red: rgba(227, 27, 35, 0.20);
  --bp-green: #16A34A;
  --bp-eyebrow-red: #FF6B73;
  /* Figma hero eyebrow */
  --bp-table-hd: #A8181D;
  /* Figma table header red */
  --bp-max-w: 1240px;
  --bp-font: 'SF Pro Display', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ── Base ── */
.page-bang-gia main * {
  box-sizing: border-box;
}

/* main không có padding-top — hero tự xử lý offset header */
.page-bang-gia main {
  font-family: var(--bp-font);
  padding-top: 0;
  font-size: 18px;
}

/* Hero section bắt đầu ngay từ top, padding-top bù cho header fixed 68px */
.bp-hero {
  margin-top: 0;
  padding-top: calc(68px + 88px);
  padding-bottom: 88px;
}


/* ── Override wrapper BG — CHỈ trang này ── */
body.tpl-bang-gia,
body.tpl-bang-gia #root,
body.tpl-bang-gia .min-h-screen,
body.tpl-bang-gia .bg-page {
  background-color: #FFFFFF !important;
}

/* ── Container ── */
.bp-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 1024px) {
  .bp-container {
    padding: 0 32px;
  }
}

@media (max-width: 640px) {
  .bp-container {
    padding: 0 24px;
  }
}

/* ── Eyebrow ── */
.bp-eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--bp-primary);
  margin-bottom: 14px;
}

/* ─────────────── SECTION: HERO (tối — giữ nguyên từ Figma) ─────────────── */
.bp-hero {
  background: linear-gradient(180deg, #2C0A0F 0%, #0D0507 100%) !important;
  padding: 88px 0 88px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.bp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(242, 34, 51, 0.18) 0%, transparent 65%);
  pointer-events: none;
}

.bp-hero .bp-eyebrow {
  color: #FF6B73;
}

.bp-hero h1 {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 800;
  line-height: 1.2;
  color: #FFFFFF;
  margin-bottom: 16px;
}

.bp-hero h1 span {
  color: #FF6B73;
}

.bp-hero-sub {
  font-size: 18px;
  color: #CBD5E1;
  max-width: 640px;
  margin: 0 auto 64px;
  line-height: 1.7;
}

.bp-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 40px 0 0 0 !important;
}

.bp-hero-badges li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #FFFFFF;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 8px 18px;
  border-radius: 100px;
}

.bp-hero-badges li::before {
  content: '✓';
  color: #4ADE80;
  font-weight: 700;
}

/* ─────────────── SECTION: STATS (trắng — Figma rgb 255,255,255) ─────────────── */
.bp-stats {
  background: #FFFFFF !important;
  padding: 40px 0;
}

.bp-stats-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  text-align: center;
  background: #F8FAFC;
  border: 1px solid var(--bp-border);
  border-radius: 16px;
  padding: 24px 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.bp-stat-item {
  flex: 1;
  min-width: 200px;
  padding: 16px 24px;
  border-right: 1px solid var(--bp-border);
}

.bp-stat-item:last-child {
  border-right: none;
}

.bp-stat-num {
  font-size: 42px;
  font-weight: 700;
  color: var(--bp-primary);
  line-height: 1;
  margin-bottom: 8px;
}

.bp-stat-label {
  font-size: 18px;
  color: var(--bp-text-sub);
}

@media (max-width: 640px) {
  .bp-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .bp-stat-item:nth-child(2) {
    border-right: none;
  }

  .bp-stat-item:nth-child(3),
  .bp-stat-item:nth-child(4) {
    border-top: 1px solid var(--bp-border);
  }

  .bp-stat-item:nth-child(4) {
    border-right: none;
  }
}

/* ─────────────── SECTION: 3 GÓI GIÁ (trắng) ─────────────── */
.bp-pricing {
  background: #FFFFFF !important;
  padding: 88px 0;
}

.bp-section-head {
  text-align: center;
  margin-bottom: 48px;
}

.bp-section-head h2 {
  font-size: clamp(28px, 3.5vw, 36px);
  font-weight: 800;
  line-height: 1.4;
  color: var(--bp-text);
}

.bp-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: start;
}

/* Card */
.bp-card {
  background: #FFFFFF;
  border: 1.5px solid var(--bp-border);
  border-radius: 16px;
  padding: 32px;
  position: relative;
  transition: transform .25s, box-shadow .25s;
}

.bp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.bp-card.featured {
  border-color: var(--bp-primary);
  box-shadow: 0 0 0 2px var(--bp-primary), 0 20px 40px rgba(242, 34, 51, 0.12);
}

.bp-badge-popular {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--bp-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  padding: 4px 16px;
  border-radius: 100px;
  white-space: nowrap;
}

.bp-card-tier {
  font-size: 22px;
  font-weight: 600;
  color: var(--bp-text);
  margin-bottom: 4px;
}

.bp-card-target {
  font-size: 15px;
  color: var(--bp-text-light);
  margin-bottom: 18px;
}

.bp-card-price {
  font-size: 28px;
  font-weight: 700;
  color: var(--bp-primary);
  margin-bottom: 20px;
}

.bp-card-divider {
  border: none;
  border-top: 1px solid var(--bp-border);
  margin-bottom: 18px;
}

.bp-card-features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}

.bp-card-features li {
  font-size: 16px;
  color: var(--bp-text-sub);
  padding: 8px 0;
  border-bottom: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  gap: 8px;
}

.bp-card-features li:last-child {
  border-bottom: none;
}

.bp-card-features li::before {
  content: '✓';
  color: var(--bp-primary);
  font-weight: 700;
  flex-shrink: 0;
}

.bp-btn-primary {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--bp-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: 14px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, transform .15s;
}

.bp-btn-primary:hover {
  background: #d91d2c;
  color: #fff !important;
  transform: translateY(-1px);
}

.bp-pricing-note {
  text-align: center;
  margin-top: 28px;
  font-size: 12px;
  color: var(--bp-text-light);
  font-style: italic;
}

@media (max-width: 900px) {
  .bp-pricing-grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
  }
}

/* ─────────────── SECTION: BẢNG SO SÁNH (FAF6F6 hồng nhạt) ─────────────── */
.bp-compare {
  padding: 88px 0;
  background: #FAF6F6 !important;
}

.bp-compare .bp-section-head p {
  font-size: 18px;
  color: var(--bp-text-sub);
  margin-top: 8px;
}

.bp-table-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 12px;
  border: 1px solid var(--bp-border);
  background: #fff;
}

.bp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 18px;
}

.bp-table th {
  background: #C81E27 !important;
  color: #FFFFFF !important;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 16px 20px;
  text-align: center;
  letter-spacing: .5px;
  border-bottom: none;
}

.bp-table th:first-child {
  text-align: left;
  border-top-left-radius: 12px;
}

.bp-table th:last-child {
  border-top-right-radius: 12px;
}

.bp-table th {
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.bp-table th:last-child {
  border-right: none;
}

.bp-table td:nth-child(3) {
  background: #FAF6F6;
}

.bp-table td {
  padding: 13px 20px;
  text-align: center;
  color: var(--bp-text-sub);
  border-bottom: 1px solid var(--bp-border);
  border-right: 1px solid var(--bp-border);
  vertical-align: middle;
}

.bp-table td:last-child {
  border-right: none;
}

.bp-table td:first-child {
  text-align: left;
  color: var(--bp-text);
}

.bp-table tr:last-child td {
  border-bottom: none;
}

.bp-table .row-group-header td {
  background: rgba(242, 34, 51, 0.06);
  color: var(--bp-primary);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 20px;
}

.bp-table .check {
  color: var(--bp-green);
  font-size: 16px;
  font-weight: 700;
}

.bp-table .dash {
  color: var(--bp-text-light);
}

.bp-table-cta td {
  padding: 20px;
  background: #F9FAFB;
}

.bp-table-cta td:nth-child(3) {
  background: #F3EAEA;
}

.bp-table-cta .bp-btn-primary {
  background: transparent !important;
  color: var(--bp-primary) !important;
  padding: 0 !important;
  font-size: 14px !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 768px) {
  .bp-table {
    min-width: 650px;
  }

  .bp-table th,
  .bp-table td {
    padding: 12px 16px;
    font-size: 13px;
  }

  .bp-table-cta td {
    padding: 16px;
  }
}

/* ─────────────── SECTION: CHI PHÍ THÊM (trắng) ─────────────── */
.bp-extra {
  padding: 88px 0;
  background: #FFFFFF !important;
}

.bp-extra .bp-section-head {
  text-align: center;
  margin-bottom: 40px;
}

.bp-extra-sub {
  color: var(--bp-text-sub);
  font-size: 18px;
  margin-top: 12px;
  max-width: 680px;
  line-height: 1.7;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 64px;
}

.bp-extra-note-top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #FFF5F5;
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--bp-text);
  margin-top: 40px !important;
  margin-bottom: 24px;
}

.bp-extra-link-top {
  display: block;
  text-align: center;
  color: var(--bp-primary);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  margin-bottom: 40px;
  transition: color .2s;
}

.bp-extra-link-top:hover {
  color: #8B1217;
}

.bp-extra-list {
  background: #FFFFFF;
  border: 1px solid var(--bp-border);
  border-radius: 16px;
  padding: 0 32px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
  max-width: 800px;
  margin: 0 auto;
}

.bp-extra-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0;
  border-bottom: 1px solid #F3F4F6;
}

.bp-extra-item:last-child {
  border-bottom: none;
}

.bp-extra-item-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.bp-extra-icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background: var(--bp-primary-dim);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bp-extra-icon img {
  width: 24px;
  height: 24px;
}

.bp-extra-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--bp-text);
}

.bp-extra-desc {
  font-size: 16px;
  color: var(--bp-text-sub);
  text-align: right;
}

@media (max-width: 768px) {
  .bp-extra-list {
    padding: 0 20px;
  }

  .bp-extra-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .bp-extra-desc {
    text-align: left;
    padding-left: 60px;
  }
}

/* ─────────────── SECTION: CAM KẾT (FAF6F6 hồng nhạt) ─────────────── */
.bp-commitment {
  padding: 88px 0;
  background: #FAF6F6 !important;
}

.bp-commit-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  margin-top: 48px;
}

.bp-commit-steps::before {
  content: '';
  position: absolute;
  top: 32px;
  left: calc(12.5%);
  right: calc(12.5%);
  height: 2px;
  background: linear-gradient(90deg, var(--bp-primary), rgba(242, 34, 51, 0.3));
  z-index: 0;
}

.bp-commit-step {
  text-align: center;
  position: relative;
  z-index: 1;
  padding: 0 16px;
}

.bp-commit-num {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--bp-primary);
  border: 4px solid #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  box-shadow: 0 8px 24px rgba(227, 27, 35, 0.25);
}

.bp-commit-icon {
  width: 28px;
  height: 28px;
}

.bp-commit-title {
  font-size: 22px;
  font-weight: 600;
  color: var(--bp-text);
  margin-bottom: 8px;
}

.bp-commit-desc {
  font-size: 17px;
  color: var(--bp-text-sub);
  line-height: 1.6;
}

@media (max-width: 768px) {
  .bp-commit-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  .bp-commit-steps::before {
    display: none;
  }
}

@media (max-width: 480px) {
  .bp-commit-steps {
    grid-template-columns: 1fr;
  }
}

/* ─────────────── SECTION: FAQ (trắng) ─────────────── */
.bp-faq {
  padding: 88px 0;
  background: #FFFFFF !important;
}

.bp-faq-list {
  margin-top: 48px;
}

.bp-faq-item {
  border: 1px solid var(--bp-border);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color .2s;
}

.bp-faq-item.open {
  border-color: var(--bp-primary);
}

.bp-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  cursor: pointer;
  gap: 16px;
  font-size: 18px;
  font-weight: 600;
  color: var(--bp-text);
  background: #FFFFFF;
  user-select: none;
  list-style: none;
  transition: background .2s;
}

.bp-faq-question:hover {
  background: #FFF5F5;
}

.bp-faq-toggle {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  background: var(--bp-primary-dim);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--bp-primary);
  transition: transform .3s;
}

.bp-faq-item.open .bp-faq-toggle {
  /* text is changed via JS */
}

.bp-faq-answer {
  display: none;
  padding: 0 24px 20px;
  font-size: 18px;
  color: var(--bp-text-sub);
  line-height: 1.7;
  background: #FFFFFF;
}

.bp-faq-item.open .bp-faq-answer {
  display: block;
}

/* ─────────────── SECTION: CTA CUỐI (tối — nút trắng theo Figma) ─────────────── */
.bp-cta {
  padding: 88px 0;
  text-align: center;
  background: linear-gradient(135deg, #2C0A0F 0%, #0D0507 100%) !important;
  position: relative;
  overflow: hidden;
}

.bp-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 80% at 50% 100%, rgba(227, 27, 35, 0.18) 0%, transparent 70%);
  pointer-events: none;
}

.bp-cta h2 {
  font-size: clamp(28px, 3.5vw, 36px);
  font-weight: 800;
  line-height: 1.4;
  color: #FFFFFF;
  margin-bottom: 14px;
  position: relative;
}

.bp-cta p {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 36px;
  position: relative;
}

.bp-cta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}

/* Nút chính: TRẮNG với text đen — theo Figma */
.bp-cta .bp-btn-primary {
  display: inline-flex;
  width: auto;
  align-items: center;
  justify-content: center;
  background: #FFFFFF !important;
  color: #111111 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.bp-cta .bp-btn-primary:hover {
  background: #F5F5F5 !important;
}

.bp-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  transition: border-color .2s, background .2s;
}

.bp-btn-outline:hover {
  border-color: rgba(255, 255, 255, .6);
  background: rgba(255, 255, 255, .08);
}