/*
 * Landing page "cat-mi-nano" (page 24479) — stylesheet sinh bởi tools/parity/lp-bundle.py từ 2 <style> trong widget html của trang gốc
 * (trước nội tuyến trong nội dung). URL upload root-relative; 23 selector Elementor/JS-render đổi sang lớp GB/kn-lp; cuối file là bridge đã đo.
 * Nạp chỉ trên page có meta `_kn_lp_bundle` = "cat-mi-nano" (inc/lp-assets.php). KHÔNG sửa tay — sửa lp-bundle.py / lp-bridge-cat-mi-nano.css rồi chạy lại.
 */
/* widget s2.3.2 */
.hero__promo, .hero__promo *, .hero__promo *::before, .hero__promo *::after{ box-sizing:border-box; }


.hero__promo{
  position:relative;
  width:100%; max-width:560px; margin-inline:auto;
  aspect-ratio:100 / 53; container-type:inline-size;
  font-family:"Lato","Noto Sans KR",system-ui,-apple-system,Arial,sans-serif;
}
.hero__promo > *{ position:absolute; }

/* cờ -40% — bong bóng đỏ nghiêng (hình thang) */
.promo__flag{
  right:0; top:0;
  background:linear-gradient(105deg,#f5211f 0%,#db1515 52%,#bd0b0b 100%);
  color:#fff; font-weight:900; line-height:1;
  font-size:11cqw; padding:.2em .6em .24em;
  border-radius:1.4cqw; transform:skewX(-12deg);
  box-shadow:0 1.1cqw 2.2cqw rgba(0,0,0,.30);
}
.promo__flag::after{               /* đuôi nhọn gradient khớp thân cờ */
  content:""; position:absolute; left:7%; top:78%;
  width:5.6cqw; height:9.5cqw;
  background:linear-gradient(155deg,#ef1f1c 0%,#c91111 55%,#ad0909 100%);
  clip-path:polygon(0 0, 100% 0, 6% 100%);
}

/* giá gốc gạch ngang — hộp trắng nghiêng cùng chiều */
.promo__old{
  right:2cqw; top:15cqw; background:#fff;
  font-size:3.6cqw; font-weight:700; line-height:1;
  padding:.42em .8em; border-radius:.7cqw; transform:skewX(-12deg);
  box-shadow:0 .5cqw 1.3cqw rgba(0,0,0,.14);
}
.promo__old s{ color:#5b6fa3; text-decoration-thickness:.07em; }

/* CẮT MÍ NANO — canh giữa cụm */
.promo__name{
  left:0; right:0; top:21cqw; text-align:center; margin:0; color:#fff; white-space:nowrap;
  font-style:italic; font-weight:900; font-size:11.2cqw; line-height:1; letter-spacing:-.01em;
  text-shadow:0 .4cqw 1cqw rgba(0,0,0,.28);
}

/* hộp giá xanh — canh giữa nội dung để không tràn dù font đổi */
.promo__price{
  left:0; top:33cqw; width:100%;
  display:flex; align-items:center; justify-content:center; gap:2cqw; padding:2.2cqw 3.5cqw;
  background:linear-gradient(180deg,#2a57c8,#1a3fa0);
  border-radius:3cqw; box-shadow:0 1.6cqw 3cqw rgba(0,0,0,.25);
}
.promo__from{ flex:none; color:#f3e6c4; font-weight:800; font-size:5cqw; line-height:.95; text-align:right; font-style:italic; }
.promo__amount{
  flex:none; white-space:nowrap;
  font-weight:900; font-size:14.5cqw; line-height:.9; letter-spacing:-.02em;
  background:linear-gradient(180deg,#fdeecb 8%,#f6cf86 55%,#eebb63 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* sao 4 cánh (sparkle trang trí cuối dòng) */
.promo__star{
  flex:none; width:5cqw; aspect-ratio:1;
  background:radial-gradient(circle,#fff7df 0%,#ffd877 55%,#f3b94e 100%);
  clip-path:polygon(50% 0,59% 41%,100% 50%,59% 59%,50% 100%,41% 59%,0 50%,41% 41%);
  filter:drop-shadow(0 0 1.2cqw rgba(255,214,120,.6));
}
.promo__star--l{ width:4cqw; }

/* widget s22.1 */
*,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    html {
      scroll-behavior: smooth
    }

    body {
      font-family: 'Be Vietnam Pro', sans-serif;
      font-size: 16px;
      line-height: 1.6;
      color: #0F172A;
      background: #fff;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
    }

    .page-wrapper {
      width: 100%;
      overflow: hidden;
      position: relative
    }

    img {
      display: block;
      max-width: 100%
    }

    a {
      text-decoration: none;
      color: inherit
    }

    input,
    select,
    button,
    textarea {
      font-family: inherit
    }

    .wrap {
      width: 100%;
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 20px
    }

    @media(min-width:768px){
      .wrap { padding: 0 32px }
    }

    /* ═══ SHARED — Section heading system ═══ */
    .sec-tag {
      display: block;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #B8770C !important;
      margin-bottom: 12px
    }

    .sec-tag.light {
      color: #FECF7E
    }

    .sec-h {
      font-size: clamp(28px, 4.2vw, 40px);
      font-weight: 800;
      color: #1F4398 !important;
      line-height: 1.3;
      letter-spacing: -0.02em;
      text-wrap: balance
    }

    .sec-h.light {
      color: #fff !important
    }

    .sec-sub {
      font-size: 17px;
      color: #64748B;
      line-height: 1.6;
      margin-top: 12px;
      max-width: 640px;
      text-wrap: pretty
    }

    .sec-sub.light {
      color: rgba(255, 255, 255, .7)
    }

    .gold-text {
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text
    }

    /* ═══ FORM ELEMENTS — 48px min touch target ═══ */
    .f-field {
      width: 100%;
      background: #F4F5F7;
      border: 1.5px solid #E5E7EB;
      border-radius: 10px;
      padding: 14px 16px;
      font-size: 16px;
      line-height: 1.4;
      color: #0F172A;
      margin-bottom: 12px;
      min-height: 48px;
      transition: border-color .2s, box-shadow .2s
    }

    .f-field:focus {
      outline: none;
      border-color: #1F4398;
      box-shadow: 0 0 0 3px rgba(31,67,152,.12)
    }

    .f-field::placeholder {
      color: #9CA3AF
    }

    .f-field.ghost {
      background: rgba(255, 255, 255, .08);
      border-color: rgba(255, 255, 255, .22);
      color: #fff
    }

    .f-field.ghost::placeholder {
      color: rgba(255, 255, 255, .5)
    }

    .f-field.ghost:focus {
      border-color: #FECF7E;
      box-shadow: 0 0 0 3px rgba(254,207,126,.18)
    }

    .btn-gold {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
      font-size: 16px !important;
      font-weight: 800;
      letter-spacing: 0.01em;
      padding: 16px 24px !important;
      border-radius: 10px;
      border: none;
      cursor: pointer;
      width: 100%;
      min-height: 52px;
      box-shadow: 0 6px 18px rgba(184, 119, 12, .28) !important;
      transition: transform .15s ease, box-shadow .15s ease
    }

    .btn-gold:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 24px rgba(184, 119, 12, .38)
    }

    .btn-navy {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background: #1F4398;
      color: #fff;
      font-size: 14px;
      font-weight: 700;
      padding: 14px 24px;
      border-radius: 10px;
      border: none;
      cursor: pointer;
      text-decoration: none;
      min-height: 48px;
      transition: background .2s
    }

    .btn-navy:hover { background: #142b6b }

    .btn-gold {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%) !important;
      color: #1F4398 !important;
      font-size: 14px;
      font-weight: 700;
      padding: 14px 24px;
      border-radius: 10px;
      border: none;
      cursor: pointer;
      text-decoration: none;
      min-height: 48px;
      width: fit-content;
      flex-shrink: 0;
      transition: opacity .2s
    }

    .btn-gold:hover { opacity: .88 }

    /* ═══ HEADER ═══ */
    .kng-site-header {
      position: sticky;
      top: 0;
      z-index: 600;
      background: #1F4398;
      box-shadow: 0 2px 20px rgba(0, 0, 0, .22)
    }

    .hdr-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 8px 16px;
      gap: 8px;
      max-width: 1240px;
      margin: 0 auto
    }

    .h-logo img {
      height: 36px
    }

    .h-logo-txt {
      color: #fff;
      font-size: 16px;
      font-weight: 900;
      letter-spacing: .5px
    }

    .h-ctas {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-shrink: 0
    }

    .hc-phone {
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
      font-size: 14px;
      font-weight: 800;
      padding: 10px 18px;
      border-radius: 999px;
      display: flex;
      align-items: center;
      gap: 8px;
      min-height: 40px;
      white-space: nowrap
    }

    .hc-zalo {
      background: #0068FF;
      color: #fff;
      font-size: 14px;
      font-weight: 700;
      padding: 10px 18px;
      border-radius: 999px;
      display: flex;
      align-items: center;
      gap: 8px;
      min-height: 40px
    }

    .hdr-nav {
      background: rgba(0, 0, 0, .18);
      padding: 5px 0 5px 12px;
      display: flex;
      gap: 0;
      overflow-x: auto;
      scrollbar-width: none
    }

    .hdr-nav::-webkit-scrollbar {
      display: none
    }

    .hn-a {
      font-size: 14px;
      color: rgb(31, 67, 152);
      font-weight: 600;
      padding: 8px 16px;
      border-right: 1px solid rgba(255, 255, 255, .12);
      white-space: nowrap;
      flex-shrink: 0;
      transition: color .2s
    }

    .hn-a:hover { color: #fff }

    .hn-a:last-child {
      border-right: none;
      padding-right: 20px  /* extra room so last item isn't clipped by gradient */
    }

    @media(max-width:480px) {
      .hdr-top { padding: 8px 12px !important; gap: 8px !important;
          display: none !important;
      }

      .h-logo img { height: 30px !important}

      .hc-phone { font-size: 10px !important; padding: 6px 10px !important; gap: 4px !important}

      /* Hiện text SĐT trên mobile theo v2 */
      .hc-phone .txt { display: inline !important}

      .hc-zalo { font-size: 10px !important; padding: 6px 10px !important; gap: 4px !important}
    }

    @media(max-width:640px) {
      .hc-phone { font-size: 11px !important; padding: 7px 11px !important}

      .hc-zalo { font-size: 11px !important; padding: 7px 11px !important}
    }

    /* ═══ HERO ═══ */
    .hero {
      background:
        radial-gradient(ellipse 75% 90% at 78% 15%, rgba(184,143,32,.24) 0%, transparent 55%),
        radial-gradient(ellipse 55% 55% at -5% 105%, rgba(10,22,70,.65) 0%, transparent 58%),
        radial-gradient(circle, rgba(255,255,255,.055) 1px, transparent 1px),
        #1F4398 url('/wp-content/uploads/2023/09/page_banner_mi_bg.png') center top/cover;
      background-size: auto, auto, 32px 32px, cover;
      position: relative
    }

    .hero-inner {
      display: grid;
      grid-template-columns: 1fr;
      padding: 56px 20px 64px;
      gap: 32px;
      max-width: 1240px;
      margin: 0 auto
    }

    .hero-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .22);
      border-radius: 999px;
      padding: 8px 16px;
      font-size: 12px;
      font-weight: 700;
      color: #FECF7E;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      width: fit-content;
      margin-bottom: 20px
    }

    .hero-h1 {
      font-size: clamp(32px, 5.5vw, 56px);
      font-weight: 800;
      color: #fff;
      line-height: 1.1;
      letter-spacing: -0.02em;
      margin-bottom: 24px;
      text-wrap: balance
    }

    .hero-h1 em {
      font-style: normal;
      color: #FECF7E
    }

    .hero-price {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      background: rgba(254, 207, 126, .1);
      border: 1px solid rgba(254, 207, 126, .3);
      border-radius: 10px;
      padding: 14px 20px;
      width: fit-content;
      margin-bottom: 24px
    }

    .hp-from {
      font-size: 14px;
      color: rgba(255, 255, 255, .65);
      font-weight: 500
    }

    .hp-num {
      font-size: 32px;
      font-weight: 900;
      color: #FECF7E;
      line-height: 1;
      letter-spacing: -0.01em
    }

    .hp-unit {
      font-size: 16px;
      color: rgba(255, 255, 255, .6)
    }

    .hero-perks {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 0
    }

    .perk {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 16px;
      line-height: 1.45;
      color: rgba(255, 255, 255, .92)
    }

    .perk-dot {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 11px;
      color: #1F4398;
      font-weight: 900
    }

    /* Hero Form */
    .hero-form {
      background: rgba(8, 16, 48, .82);
      backdrop-filter: blur(14px);
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 20px;
      padding: 28px 24px
    }

    .hf-ttl {
      font-size: 20px;
      font-weight: 800;
      color: #FECF7E;
      line-height: 1.2;
      margin-bottom: 4px
    }

    .hf-sub {
      font-size: 14px;
      color: rgba(255, 255, 255, .6);
      line-height: 1.45;
      margin-bottom: 20px
    }

    .hero-img {
      display: none
    }

    /* Mobile: compact perks 2-col → form visible sooner */
    @media(max-width:767px) {
      .hero-inner { padding: 32px 16px 48px !important; gap: 24px !important}

      .hero-perks { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important}

      .perk { font-size: 14px !important; align-items: flex-start !important; gap: 8px !important}

      .hero-h1 { font-size: clamp(28px, 7vw, 36px) !important; margin-bottom: 16px !important}

      .hero-price { padding: 12px 16px !important; gap: 8px !important; margin-bottom: 20px !important}

      .hp-num { font-size: 26px !important}

      .price-orig { word-break: break-all !important}
    }

    @media(max-width:400px) {
      .hero-perks { grid-template-columns: 1fr !important}

      .hf-ttl { font-size: 18px !important}
    }

    @media(min-width:1024px) {
      .hero-inner {
        grid-template-columns: 1.05fr 1fr;
        align-items: center;
        padding: 80px 40px;
        gap: 64px
      }

      .hero-img {
        display: flex;
        align-items: flex-end;
        justify-content: flex-end
      }

      .hero-img img {
        max-height: 580px;
        object-fit: cover;
        object-position: top
      }
    }

    .kng-site-header { z-index: 1000 !important; }

    .urg-strip {
      position: fixed !important;
      top: 0;
      left: 0;
      right: 0;
      z-index: 500;                  /* thấp hơn header (1000) để nấp sau header */
      background: linear-gradient(90deg, #0d1f52, #1F4398);
      border-bottom: 2px solid #B8770C;
      transform: translateY(-100%);  /* nấp đúng sau header, lùi lên = chiều cao chính nó */
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: transform .35s cubic-bezier(.4, 0, .2, 1), opacity .35s;
      display: flex;
      justify-content: center !important;
    }
    
    .urg-strip-inner {
      width: 100%;
      max-width: 1240px;
      padding: 12px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }

    .urg-strip.show {
      transform: translateY(0);
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    /* Container ẩn chứa Gravity Form — JS clone vào modal khi mở */
    #gf-modal-form { display: none !important; }

    #urgency-strip.urg-strip {
      background-image: linear-gradient(90deg, #0d1f52, #1F4398) !important;
    }
    #urgency-strip .us-btn {
      background-image: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%) !important;
    }
    .kn-lp-overlay--consult .cm-head {
      background-image: linear-gradient(145deg, #142b6b, #1F4398) !important;
    }
    .kn-lp-overlay--consult .btn-gold {
      background-image: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%) !important;
    }
    .gfield--type-math_captcha {
      text-align: center !important;
    }

    .gform_wrapper .gform_button,
    .gform_wrapper .gform_button.button,
    .gform_button,
    .gform_button.button {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%) !important;
      background-image: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%) !important;
      color: #1F4398 !important;
      font-size: 15px !important;
      font-weight: 800 !important;
      letter-spacing: .5px !important;
      padding: 15px 24px !important;
      border-radius: 10px !important;
      border: none !important;
      cursor: pointer !important;
      min-height: 52px !important;
      box-shadow: 0 6px 18px rgba(184, 119, 12, .28) !important;
      text-transform: uppercase !important;
    }
    /* ID selector thắng Elementor lazy-load class rule → gradient hiển thị đúng */
    #gform_wrapper_31 .gform_button {
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%) !important;
      background-image: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%) !important;
    }

    /* ── GF form trên nền tối: label/captcha/error sang màu sáng ── */
    .form-on-dark .gfield_label,
    .form-on-dark .gfield_captcha_equation,
    .form-on-dark .gfield_description,
    .form-on-dark .gfield_required,
    .form-on-dark .validation_message,
    .form-on-dark .gfield--type-math_captcha .ginput_container {
      color: rgba(255, 255, 255, .9) !important;
    }
    .form-on-dark .gfield_validation_message {
      color: #fca5a5 !important;
    }

    .us-text {
      font-size: 16px;
      color: #fff;
      font-weight: 500;
      flex: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .us-text .txt-content {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .us-text strong {
      color: #FECF7E
    }

    .us-btn {
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
      font-size: 14px;
      font-weight: 800;
      padding: 10px 20px;
      border-radius: 6px;
      white-space: nowrap;
      flex-shrink: 0;
      text-decoration: none;
      transition: transform 0.2s, box-shadow 0.2s;
    }
    
    .us-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(234, 179, 8, 0.3);
    }

    @media(max-width:500px) {
      .urg-strip-inner { padding: 8px 16px !important; align-items: center !important; gap: 12px !important;
      }

      .us-text { font-size: 13px !important; white-space: normal !important; line-height: 1.4 !important; overflow: visible !important; align-items: flex-start !important;
      }

      .us-text .txt-content { white-space: normal !important; overflow: visible !important;
      }

      .us-text svg { margin-top: 2px !important;
      }

      .us-text .us-hide-mobile { display: none !important}

      .us-btn { font-size: 13px !important; padding: 8px 14px !important;
      }
    }

    /* ═══ LIVE BADGE / SOCIAL PROOF NEAR FORM ═══ */
    @keyframes blink {

      0%,
      100% {
        opacity: 1
      }

      50% {
        opacity: .3
      }
    }

    .blink-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #22c55e;
      animation: blink 1.4s infinite;
      flex-shrink: 0
    }

    .live-badge {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      color: rgba(255, 255, 255, .65);
      margin-top: 12px;
      justify-content: center
    }

    .live-badge-dark {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      color: #64748B;
      margin-top: 12px;
      justify-content: center
    }

    /* ═══ WHAT HAPPENS NEXT ═══ */
    .what-next {
      border-top: 1px solid #E5E7EB;
      margin-top: 16px;
      padding-top: 12px
    }

    .wn-ttl {
      font-size: 12px;
      font-weight: 800;
      color: #64748B;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 8px
    }

    .wn-steps {
      display: flex;
      flex-direction: column;
      gap: 8px
    }

    .wn-step {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      color: #64748B
    }

    .wn-num {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: #1F4398;
      color: #fff;
      font-size: 12px;
      font-weight: 800;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0
    }

    /* ═══ PRICE ANCHOR ═══ */
    .price-orig {
      font-size: 14px;
      color: rgba(255, 255, 255, .45);
      text-decoration: line-through;
      margin-right: 4px
    }

    .price-save {
      display: inline-block;
      background: #DC2626 !important;
      color: #fff !important;
      font-size: 12px !important;
      font-weight: 800;
      letter-spacing: 0.5px;
      padding: 4px 12px;
      border-radius: 6px;
      margin-left: 8px;
      vertical-align: middle
    }

    /* ═══ TRUST BAR ═══ */
    .trust-bar {
      background: #142b6b;
      border-top: 1px solid rgba(255, 255, 255, .06)
    }

    .trust-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0
    }

    .trust-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 20px 20px;
      border-right: 1px solid rgba(255, 255, 255, .08);
      border-bottom: 1px solid rgba(255, 255, 255, .08)
    }

    .trust-item:nth-child(2n) {
      border-right: none
    }

    .trust-item:nth-child(3),
    .trust-item:nth-child(4) {
      border-bottom: none
    }

    .ti-num {
      font-size: 30px;
      font-weight: 800;
      color: #FECF7E;
      line-height: 1;
      letter-spacing: -0.01em;
      white-space: nowrap;
      margin-bottom: 4px
    }

    .ti-lbl {
      font-size: 12px;
      color: rgba(255, 255, 255, .6);
      font-weight: 500;
      line-height: 1.45
    }

    @media(min-width:768px) {
      .trust-grid {
        grid-template-columns: repeat(4, 1fr)
      }

      .trust-item {
        border-bottom: none;
        padding: 24px 28px
      }

      .trust-item:nth-child(2) {
        border-right: 1px solid rgba(255, 255, 255, .08)
      }

      .trust-item:nth-child(4) {
        border-right: none
      }
    }

    /* ═══ PAIN POINTS ═══ */
    .pain-sec {
      background: #1F4398;
      padding: 64px 0
    }

    .pain-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 32px
    }

    .pain-card {
      background: rgba(255, 255, 255, .06);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 14px;
      padding: 24px 20px;
      transition: border-color .2s, background .2s, transform .2s;
      height: 100%;
    }

    .pain-card:hover {
      background: rgba(255, 255, 255, .1);
      border-color: rgba(254, 207, 126, .4);
      transform: translateY(-2px)
    }

    .pain-card img {
      margin-bottom: 20px;
    }

    .pain-num {
      width: 40px;
      height: 40px;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      font-weight: 900;
      color: #1F4398;
      margin-bottom: 16px
    }

    .pain-ttl {
      font-size: 18px;
      font-weight: 700;
      color: #fff;
      line-height: 1.2;
      margin-bottom: 8px
    }

    .pain-dsc {
      font-size: 15px;
      color: #FFFFFFD1;
      line-height: 1.6
    }

    @media(min-width:768px) {
      .pain-grid {
        grid-template-columns: repeat(4, 1fr)
      }
    }

    /* ═══ SOCIAL PROOF ═══ */
    .social-sec {
      background: #F9F8F5;
      padding: 64px 0
    }

    .social-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 32px
    }

    .sc-card {
      border-radius: 10px;
      overflow: hidden;
      position: relative;
      cursor: pointer
    }

    .sc-card img {
      width: 100%;
      aspect-ratio: 3/4;
      object-fit: cover;
      display: block
    }

    .sc-ovl {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0, 0, 0, .75) 0%, transparent 55%)
    }

    .sc-play {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .22);
      border: 2px solid rgba(255, 255, 255, .8);
      display: flex;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(3px)
    }

    .sc-play::after {
      content: "▶";
      color: #fff;
      font-size: 14px;
      margin-left: 3px
    }

    .sc-info {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 16px
    }

    .sc-name {
      font-size: 18px;
      font-weight: 700;
      color: #fff;
      line-height: 1.3
    }

    .sc-role {
      font-size: 13px;
      color: rgba(255, 255, 255, .75);
      margin-top: 4px
    }

    .sc-badge {
      display: inline-block;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
      font-size: 11px;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 6px;
      margin-top: 8px;
      letter-spacing: 0.3px
    }

    /* Ẩn overlay tên/role (.sc-info) trên mobile cho đỡ rối ảnh — chỉ hiện từ tablet trở lên */
    @media(max-width:767px) {
      .sc-info { display: none !important }
    }

    @media(min-width:768px) {
      .social-grid {
        grid-template-columns: repeat(4, 1fr)
      }
    }

    /* ═══ CASES ═══ */
    .cases-sec {
      background: #fff;
      padding: 64px 0
    }

    .cases-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 32px
    }

    .case-card {
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid #E5E7EB;
      background: #F9F8F5;
      transition: transform .2s, box-shadow .2s
    }

    .case-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(15,23,42,.08), 0 2px 4px rgba(15,23,42,.06)
    }

    .case-card img {
      width: 100%;
      height: 175px;
      object-fit: cover
    }

    .case-body {
      padding: 12px 16px 16px
    }

    .case-name {
      font-size: 16px;
      font-weight: 700;
      color: #1F4398;
      line-height: 1.3
    }

    .case-meta {
      font-size: 13px;
      color: #64748B;
      margin-top: 4px
    }

    .case-ok {
      display: inline-block;
      margin-top: 8px;
      background: #DCFCE7;
      color: #166534;
      font-size: 11px;
      font-weight: 700;
      padding: 3px 10px;
      border-radius: 6px;
      letter-spacing: 0.3px
    }

    @media(min-width:768px) {
      .cases-grid {
        grid-template-columns: repeat(4, 1fr)
      }
    }

    /* ═══ COUNTER ═══ */
    .counter-sec {
      background: url('/wp-content/uploads/2023/09/bg-blue-big.jpg') center/cover;
      padding: 64px 0;
      text-align: center
    }

    .ctr-num {
      font-size: clamp(64px, 11vw, 112px);
      font-weight: 900;
      color: #FECF7E;
      line-height: 1;
      letter-spacing: -0.03em
    }

    .ctr-lbl {
      font-size: 18px;
      color: #fff;
      font-weight: 600;
      line-height: 1.45;
      margin: 12px 0 40px
    }

    .eye-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      max-width: 720px;
      margin: 0 auto 24px
    }

    .eye-img img {
      width: 100%;
      height: 110px;
      object-fit: cover;
      object-position: top;
      border-radius: 6px
    }

    @media(min-width:768px) {
      .eye-grid {
        grid-template-columns: repeat(5, 1fr)
      }

      .eye-img img {
        height: 130px
      }
    }

    /* ═══ METHODS TABS — pill style đồng bộ với BA tabs (nền sáng) ═══ */
    .methods-sec {
      background: #F9F8F5;
      padding: 64px 0
    }

    .tabs-row {
      display: flex;
      gap: 4px;
      background: rgba(31, 67, 152, .07);
      border: 1px solid rgba(31, 67, 152, .14);
      border-radius: 999px;
      padding: 5px;
      margin: 32px auto 40px;
      width: fit-content;
      max-width: 100%;
      overflow-x: auto;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch
    }

    .tabs-row::-webkit-scrollbar {
      display: none
    }

    .mtab {
      flex-shrink: 0;
      padding: 11px 22px;
      font-size: 14px;
      font-weight: 700;
      color: rgba(31, 67, 152, .75);
      background: transparent;
      cursor: pointer;
      border: none;
      border-radius: 999px;
      white-space: nowrap;
      letter-spacing: 0.3px;
      transition: all .22s cubic-bezier(.4, 0, .2, 1)
    }

    .mtab.gb-block-is-current {
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
      font-weight: 800;
      box-shadow: 0 4px 12px rgba(254, 207, 126, .28)
    }

    .mpanel {
      display: none
    }

    .mpanel.gb-tabs__item-open {
      display: grid;
      grid-template-columns: 1fr;
      gap: 32px
    }

    .mp-img img {
      width: 100%;
      border-radius: 14px;
      max-height: 360px;
      object-fit: cover
    }

    .mp-ttl {
      font-size: clamp(22px, 3vw, 30px);
      font-weight: 800;
      color: #1F4398;
      line-height: 1.2;
      letter-spacing: -0.01em;
      margin-bottom: 12px
    }

    .mp-desc {
      font-size: 16px;
      color: #334155;
      line-height: 1.6;
      margin-bottom: 20px
    }

    .mp-pts {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 24px
    }

    .mp-pt {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 16px;
      line-height: 1.45;
      color: #334155
    }

    .mp-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #1F4398;
      flex-shrink: 0;
      margin-top: 8px
    }

    .mp-action-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      background: rgba(31, 67, 152, .04);
      border: 1px solid rgba(31, 67, 152, .12);
      border-left: 3px solid #B8770C;
      border-radius: 10px;
      padding: 16px 20px;
      margin-bottom: 20px;
      flex-wrap: wrap
    }

    .mp-price {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      flex: 1;
      min-width: 160px
    }

    .mp-price-meta {
      display: flex;
      align-items: center;
      gap: 8px
    }

    .mp-old {
      font-size: 12px;
      color: #64748B;
      text-decoration: line-through
    }

    .mp-from {
      font-size: 14px;
      color: #64748B
    }

    .mp-num {
      font-size: 32px;
      font-weight: 900;
      color: #1F4398;
      letter-spacing: -0.02em;
      line-height: 1
    }

    @media(min-width:768px) {
      .mpanel.gb-tabs__item-open {
        grid-template-columns: 1fr 1fr;
        align-items: start
      }
    }

    /* ═══ TECH ═══ */
    .tech-sec {
      background: #fff;
      padding: 64px 0
    }

    .tech-inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: 48px
    }

    .tech-h {
      font-size: clamp(24px, 3.5vw, 36px);
      font-weight: 800;
      color: #1F4398;
      line-height: 1.2;
      letter-spacing: -0.02em;
      margin-bottom: 16px;
      text-wrap: balance
    }

    .tech-p {
      font-size: 16.5px;
      color: #334155;
      line-height: 1.75;
      margin-bottom: 16px
    }

    .tech-feats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 24px
    }

    .tf-card {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      background: #F9F8F5;
      border: 1px solid #E5E7EB;
      border-radius: 10px;
      padding: 16px
    }

    @media(max-width:767px) {
      .tf-card {
        flex-direction: column;
        gap: 8px
      }
    }

    .tf-ico {
      width: 44px;
      height: 44px;
      border-radius: 6px;
      background: #1F4398;
      color: #FECF7E;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 20px;
      overflow: hidden
    }

    .tf-ico img {
      width: 44px;
      height: 44px;
      object-fit: cover
    }

    .tf-h {
      font-size: 14px;
      font-weight: 800;
      color: #1F4398;
      letter-spacing: 0.3px;
      margin-bottom: 4px
    }

    .tf-p {
      font-size: 14px;
      color: #64748B;
      line-height: 1.45
    }

    .tech-imgs {
      display: grid !important;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 215px 175px;
      gap: 12px;
      align-items: stretch !important;
      align-self: start
    }

    .ti {
      border-radius: 14px;
      overflow: hidden
    }

    .ti .kn-lp-wc {
      height: 100%;
      padding: 0 !important;
      line-height: 0
    }

    .ti img {
      width: 100%;
      height: 100% !important;
      object-fit: cover;
      display: block
    }

    .ti.s2 {
      grid-column: span 2
    }

    @media(min-width:1024px) {
      .tech-inner {
        grid-template-columns: 1fr 1fr
      }
    }

    /* ═══ PROCESS (NEW) ═══ */
    .process-sec {
      background: #1F4398;
      padding: 64px 0
    }

    .proc-steps {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-top: 40px
    }

    .proc-step {
      display: flex;
      gap: 16px;
      padding-bottom: 28px
    }

    .proc-step:last-child {
      padding-bottom: 0
    }

    .ps-left {
      display: flex;
      flex-direction: column;
      align-items: center;
      flex-shrink: 0
    }

    .ps-num {
      width: 48px;
      height: 48px;
      border-radius: 6px;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      font-weight: 900;
      color: #1F4398;
      flex-shrink: 0
    }

    .ps-line {
      width: 2px;
      flex: 1;
      background: rgba(254, 207, 126, .18);
      margin-top: 4px;
      min-height: 20px
    }

    .proc-step:last-child .ps-line {
      display: none
    }

    .ps-body {
      padding-top: 8px
    }

    .ps-ttl {
      font-size: 18px;
      font-weight: 700;
      color: #fff;
      line-height: 1.2;
      margin-bottom: 8px
    }

    .ps-dsc {
      font-size: 15px;
      color: rgba(255, 255, 255, .65);
      line-height: 1.6
    }

    @media(min-width:768px) {
      .proc-steps {
        flex-direction: row;
        justify-content: space-between;
        gap: 0
      }

      .proc-step {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding-bottom: 0;
        flex: 1
      }

      .ps-left {
        flex-direction: row;
        width: 100%
      }

      .ps-line {
        height: 2px;
        min-height: unset;
        width: auto;
        flex: 1;
        margin-top: 0;
        margin-left: 4px
      }

      .ps-body {
        padding-top: 16px;
        padding-right: 20px
      }
    }

    /* ═══ PRICING (NEW) ═══ */
    .pricing-sec {
      background: #F9F8F5;
      padding: 64px 0
    }

    .price-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-top: 32px
    }

    .price-card {
      background: #fff !important;
      border: 1.5px solid #E5E7EB;
      border-radius: 14px;
      padding: 24px 20px;
      position: relative;
      transition: border-color .2s, box-shadow .2s, transform .2s
    }

    .price-card:hover {
      border-color: #1F4398;
      transform: translateY(-2px);
      box-shadow: 0 10px 28px rgba(31, 67, 152, .12)
    }

    .price-card.feat {
      border-color: #B8770C;
      box-shadow: 0 10px 28px rgba(184, 119, 12, .14)
    }

    .feat-badge {
      position: absolute;
      top: -12px;
      right: 16px;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
      font-size: 11px;
      font-weight: 800;
      padding: 5px 14px;
      border-radius: 999px;
      letter-spacing: .5px
    }

    .pc-tag {
      font-size: 12px;
      font-weight: 700;
      color: #64748B;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 8px
    }

    .pc-num {
      font-size: clamp(24px, 4vw, 32px);
      font-weight: 900;
      color: #1F4398;
      line-height: 1;
      letter-spacing: -0.02em
    }

    .pc-unit {
      font-size: 16px;
      font-weight: 600;
      color: #64748B
    }

    .pc-note {
      font-size: 13px;
      color: #64748B;
      margin-top: 12px;
      line-height: 1.45
    }

    .pc-btn {
      display: block;
      text-align: center;
      background: #1F4398;
      color: #fff;
      font-size: 14px;
      font-weight: 700;
      padding: 14px;
      border-radius: 10px;
      margin-top: 20px;
      transition: background .2s
    }

    .pc-btn:hover { background: #142b6b }

    .price-card.feat .pc-btn {
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398
    }

    .price-grid .kn-lp-wc { height: 100% }
    .price-grid .price-card {
      height: 100%;
      display: flex;
      flex-direction: column
    }
    .price-grid .pc-btn { margin-top: auto }

    @media(min-width:768px) {
      .price-grid {
        grid-template-columns: repeat(3, 1fr)
      }
    }

    /* ═══ DOCTORS ═══ */
    .doctors-sec {
      background: url('/wp-content/uploads/2023/10/bg-ss-bac-sy.jpg') center/cover;
      padding: 64px 0
    }

    .doc-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
      margin-top: 32px
    }

    .doc-card {
      display: flex;
      gap: 16px;
      align-items: flex-start;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 14px;
      padding: 20px;
      backdrop-filter: blur(8px)
    }

    .doc-ava {
      width: 80px;
      height: 80px;
      border-radius: 10px;
      flex-shrink: 0;
      background: rgba(255, 255, 255, .1);
      border: 2px solid #FECF7E;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 26px;
      font-weight: 900;
      color: #FECF7E;
      overflow: hidden
    }

    .doc-ava img {
      width: 100%;
      height: 100%;
      object-fit: cover
    }

    .doc-name {
      font-size: 16.5px;
      font-weight: 900;
      color: #fff;
      margin-bottom: 4px
    }

    .doc-ttl {
      font-size: 13px;
      color: #FECF7E;
      font-weight: 700;
      margin-bottom: 8px
    }

    .doc-creds {
      display: flex;
      flex-direction: column;
      gap: 4px
    }

    .doc-cred {
      font-size: 13px;
      color: rgba(255, 255, 255, .52);
      display: flex;
      gap: 8px
    }

    .doc-cred::before {
      content: "·";
      color: #FECF7E;
      flex-shrink: 0
    }

    @media(min-width:768px) {
      .doc-grid {
        grid-template-columns: 1fr 1fr
      }
    }

    /* ═══ WHY US ═══ */
    .reasons-sec {
      background: #F9F8F5;
      padding: 64px 0
    }

    .reasons-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 32px
    }

    .reasons-grid .kn-lp-wc { height: 100% }
    .reason-card {
      background: #fff;
      border: 1px solid #E5E7EB;
      border-radius: 10px;
      padding: 20px 16px;
      height: 100%
    }

    .rc-icon {
      font-size: 28px;
      margin-bottom: 12px
    }

    .rc-ttl {
      font-size: 15px;
      font-weight: 800;
      color: #1F4398;
      margin-bottom: 4px
    }

    .rc-dsc {
      font-size: 15px;
      color: #64748B;
      line-height: 1.6
    }

    @media(min-width:768px) {
      .reasons-grid {
        grid-template-columns: repeat(3, 1fr)
      }
    }

    /* ═══ REVIEWS ═══ */
    .reviews-sec {
      background: #fff;
      padding: 64px 0
    }

    .reviews-inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px
    }

    .reviews-list {
      display: flex;
      flex-direction: column;
      gap: 12px
    }

    .rv-card {
      background: #F9F8F5;
      border: 1px solid #E5E7EB;
      border-radius: 10px;
      padding: 20px
    }

    .rv-head {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 12px
    }

    .rv-ava {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: #1F4398;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      font-weight: 900;
      color: #FECF7E;
      flex-shrink: 0
    }

    .rv-name {
      font-size: 14px;
      font-weight: 800;
      color: #0F172A
    }

    .rv-src {
      font-size: 12px;
      color: #1F4398;
      font-weight: 600
    }

    .rv-stars {
      color: #D97706;
      font-size: 14px;
      margin-bottom: 8px
    }

    .rv-txt {
      font-size: 14px;
      color: #374151;
      line-height: 1.75;
      font-style: italic
    }

    .rv-date {
      font-size: 12px;
      color: #64748B;
      margin-top: 8px
    }

    .rv-form {
      background: #1F4398;
      border-radius: 14px;
      padding: 32px 24px
    }

    .rvf-ttl {
      font-size: 18px;
      font-weight: 900;
      color: #FECF7E;
      margin-bottom: 4px
    }

    .rvf-sub {
      font-size: 12px;
      color: rgba(255, 255, 255, .45);
      margin-bottom: 16px
    }

    /* Google badge */
    .g-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      border: 1px solid #E5E7EB;
      border-radius: 6px;
      padding: 8px 16px;
      margin-bottom: 16px
    }

    .g-letters span:nth-child(1) {
      color: #4285F4
    }

    .g-letters span:nth-child(2) {
      color: #EA4335
    }

    .g-letters span:nth-child(3) {
      color: #FBBC05
    }

    .g-letters span:nth-child(4) {
      color: #4285F4
    }

    .g-letters span:nth-child(5) {
      color: #34A853
    }

    .g-letters span:nth-child(6) {
      color: #EA4335
    }

    .g-letters {
      font-size: 14px;
      font-weight: 800
    }

    .g-stars {
      color: #D97706;
      font-size: 13px
    }

    .g-score {
      font-size: 14px;
      font-weight: 800;
      color: #0F172A
    }

    .g-count {
      font-size: 11px;
      color: #64748B
    }

    @media(min-width:1024px) {
      .reviews-inner {
        grid-template-columns: 3fr 2fr
      }
    }

    /* ═══ FAQ (NEW) ═══ */
    .faq-sec {
      background: #F9F8F5;
      padding: 64px 0
    }

    .faq-list {
      margin-top: 32px;
      border-radius: 10px;
      overflow: hidden;
      border: 1px solid #E5E7EB
    }

    .faq-item {
      border-bottom: 1px solid #E5E7EB;
      background: #fff
    }

    .faq-item:last-child {
      border-bottom: none
    }

    .faq-q {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 20px;
      cursor: pointer;
      font-size: 14px;
      font-weight: 700;
      color: #1F4398;
      min-height: 48px;
      user-select: none
    }

    .faq-ico {
      font-size: 20px;
      font-weight: 300;
      flex-shrink: 0;
      transition: transform .22s;
      line-height: 1;
      color: #1F4398
    }

    .faq-item.open .faq-ico {
      transform: rotate(45deg)
    }

    .faq-a {
      font-size: 14px;
      color: #374151;
      line-height: 1.75;
      padding: 0 20px 16px;
      display: none
    }

    .faq-item.open .faq-a {
      display: block
    }

    /* ── Elementor Nested Accordion → faq-list styling ── */
    /* Override Elementor's injected --n-accordion-border-* variables bằng specificity cao hơn */
    .faq-list.kn-lp-w--nested-accordion {
      --n-accordion-border-width: 0;
      --n-accordion-border-color: transparent;
      --n-accordion-border-style: none;
      --n-accordion-padding: 0
    }

    .faq-list .kn-lp-wc { padding: 0 !important }
    .faq-list .gb-accordion { margin: 0; display: block }

    .faq-list .gb-accordion__item {
      border: none !important;
      border-bottom: 1px solid #E5E7EB !important;
      border-radius: 0 !important;
      margin: 0 !important;
      background: #fff;
      box-shadow: none !important
    }
    .faq-list .gb-accordion__item:last-child { border-bottom: none !important }

    .faq-list .gb-accordion__toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 20px;
      cursor: pointer;
      min-height: 48px;
      user-select: none;
      list-style: none;
      background: #fff
    }
    /* (details marker: không còn <summary>) */

    .faq-list .kn-lp-acc-head { flex: 1 }

    .faq-list .kn-lp-acc-title {
      font-size: 14px;
      font-weight: 700;
      color: #1F4398
    }

    .faq-list .gb-accordion__toggle-icon {
      flex-shrink: 0;
      color: #1F4398
    }
    .faq-list .gb-accordion__toggle-icon svg {
      width: 14px;
      height: 14px;
      fill: #1F4398;
      display: block
    }

    .faq-list .gb-accordion__item > .gb-accordion__content > .kn-lp-con {
      padding: 0 20px 16px !important
    }
    .faq-list .gb-accordion__item > .gb-accordion__content > .kn-lp-con .kn-lp-wc {
      padding: 0 !important
    }
    .faq-list .gb-accordion__item > .gb-accordion__content > .kn-lp-con p {
      font-size: 14px;
      color: #374151;
      line-height: 1.75;
      margin: 0
    }

    /* ═══ URGENCY ═══ */
    .urgency-sec {
      background: url('/wp-content/uploads/2023/10/bg-end-cat-mi.jpg') center/cover;
      padding: 64px 0
    }

    .urg-inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px
    }

    .urg-h {
      font-size: clamp(24px, 5.5vw, 40px);
      font-weight: 900;
      color: #fff;
      line-height: 1.3;
      margin-bottom: 12px
    }

    .urg-h em {
      font-style: normal;
      color: #FECF7E
    }

    .urg-slots {
      background: rgba(255, 255, 255, .1);
      border: 1px solid rgba(255, 255, 255, .2);
      border-radius: 10px;
      padding: 16px 20px;
      margin: 16px 0
    }

    .urg-slotnum {
      font-size: 36px;
      font-weight: 900;
      color: #FECF7E
    }

    .urg-slotlbl {
      font-size: 14px;
      color: rgba(255, 255, 255, .65)
    }

    .cd-lbl {
      font-size: 12px;
      color: rgba(255, 255, 255, .55);
      margin-bottom: 8px
    }

    .cd-row {
      display: flex;
      align-items: center;
      gap: 4px
    }

    .cd-box {
      background: rgba(0, 0, 0, .42);
      border-radius: 6px;
      padding: 8px 12px;
      text-align: center;
      min-width: 56px
    }

    .cd-n {
      font-size: 30px;
      font-weight: 900;
      color: #FECF7E;
      line-height: 1
    }

    .cd-u {
      font-size: 12px;
      color: rgba(255, 255, 255, .38);
      margin-top: 4px;
      text-transform: uppercase
    }

    .cd-sep {
      font-size: 24px;
      font-weight: 900;
      color: #FECF7E
    }

    .urg-perks {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 16px
    }

    .urg-perk {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      color: rgba(255, 255, 255, .8)
    }

    .up-chk {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 12px;
      color: #1F4398;
      font-weight: 900
    }

    .urg-form {
      background: #fff;
      border-radius: 14px;
      padding: 32px 24px
    }

    .uf-ttl {
      font-size: 18px;
      font-weight: 900;
      color: #1F4398;
      margin-bottom: 4px
    }

    .uf-sub {
      font-size: 12px;
      color: #64748B;
      margin-bottom: 16px
    }

    .urg-channels {
      display: flex;
      flex-direction: row;
      gap: 10px;
      margin-top: 16px
    }

    .ch-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 12px 16px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 800;
      text-decoration: none;
      cursor: pointer;
      border: none;
      min-height: 48px;
      flex: 1
    }

    .ch-phone {
      background: #DC2626;
      color: #fff
    }

    .ch-zalo {
      background: #0068FF;
      color: #fff
    }

    @media(min-width:1024px) {
      .urg-inner {
        grid-template-columns: 1fr 1fr;
        align-items: start
      }
    }

    /* ═══ FOOTER (Conversion-Focused — Trust Anchor only) ═══ */
    .kng-site-footer {
      background: #142b6b;
      padding: 32px 0 16px
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 24px;
      margin-bottom: 20px
    }

    .ft-logo img {
      height: 32px;
      filter: brightness(0) invert(1);
      margin-bottom: 8px
    }

    .ft-logo-txt {
      color: #fff;
      font-size: 15px;
      font-weight: 900
    }

    .ft-about {
      font-size: 11px;
      color: rgba(255, 255, 255, .32);
      line-height: 1.7;
      margin-bottom: 12px
    }

    .ft-cert-row {
      display: flex;
      flex-wrap: wrap;
      gap: 7px
    }

    .ft-cert {
      background: rgba(255, 255, 255, .06);
      border-radius: 6px;
      padding: 8px 11px;
      flex: 1 1 auto;
      min-width: 0
    }

    .ft-cert-t {
      font-size: 9px;
      font-weight: 800;
      color: #FECF7E;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 2px
    }

    .ft-cert-n {
      font-size: 11px;
      color: rgba(255, 255, 255, .55);
      line-height: 1.45
    }

    .ft-h {
      font-size: 10px;
      font-weight: 800;
      color: rgba(255, 255, 255, .55);
      text-transform: uppercase;
      letter-spacing: 1.5px;
      margin-bottom: 10px
    }

    .ft-hotline-card {
      background: linear-gradient(135deg, rgba(255, 199, 87, .14), rgba(212, 156, 60, .06));
      border: 1px solid rgba(255, 199, 87, .25);
      border-radius: 10px;
      padding: 14px 14px 12px;
      margin-bottom: 10px
    }

    .ft-hotline-lbl {
      font-size: 10px;
      font-weight: 700;
      color: rgba(255, 255, 255, .55);
      text-transform: uppercase;
      letter-spacing: 1.2px;
      margin-bottom: 4px
    }

    .ft-hotline-num {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 22px;
      font-weight: 900;
      color: #FECF7E;
      letter-spacing: .5px;
      text-decoration: none;
      line-height: 1.1
    }

    .ft-hotline-num svg {
      flex-shrink: 0
    }

    .ft-hotline-sub {
      font-size: 11px;
      color: rgba(255, 255, 255, .45);
      margin-top: 6px
    }

    .ft-ci {
      display: flex;
      align-items: flex-start;
      gap: 7px;
      font-size: 12px;
      color: rgba(255, 255, 255, .5);
      line-height: 1.55;
      margin-bottom: 6px
    }

    .ft-ci svg {
      flex-shrink: 0;
      margin-top: 2px;
      opacity: .65
    }

    .ft-ci a {
      color: rgba(255, 255, 255, .5)
    }

    /* Legal bottom bar — subtle, NO competing weight */
    .ft-legal {
      border-top: 1px solid rgba(255, 255, 255, .07);
      padding-top: 14px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px
    }

    .ft-legal-links {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0 14px;
      row-gap: 4px
    }

    .ft-legal-links button {
      background: none;
      border: 0;
      padding: 0;
      cursor: pointer;
      font-size: 10.5px;
      color: rgba(255, 255, 255, .32);
      text-decoration: underline;
      text-decoration-color: rgba(255, 255, 255, .15);
      text-underline-offset: 3px;
      font-family: inherit;
      transition: color .2s
    }

    .ft-legal-links button:hover {
      color: rgba(255, 255, 255, .55)
    }

    .ft-legal-links .legal-sep {
      color: rgba(255, 255, 255, .18);
      font-size: 10.5px
    }

    .ft-copy {
      font-size: 10px;
      color: rgba(255, 255, 255, .25);
      text-align: center;
      line-height: 1.7
    }

    @media(min-width:768px) {
      .footer-grid {
        grid-template-columns: 1.6fr 1fr;
        gap: 48px
      }
    }

    /* ═══ Policy Modal (no navigation away) ═══ */
    .policy-modal {
      position: fixed;
      inset: 0;
      background: rgba(10, 20, 50, .85);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      z-index: 9000;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
      opacity: 0;
      transition: opacity .2s
    }

    .policy-modal.open {
      display: flex;
      opacity: 1
    }

    .policy-card {
      background: #fff;
      border-radius: 14px;
      max-width: 540px;
      width: 100%;
      max-height: 86vh;
      overflow-y: auto;
      padding: 22px 22px 20px;
      position: relative;
      box-shadow: 0 30px 70px rgba(0, 0, 0, .35)
    }

    .policy-card h3 {
      font-size: 18px;
      font-weight: 900;
      color: #142b6b;
      margin: 0 0 12px;
      padding-right: 32px
    }

    .policy-card p,
    .policy-card li {
      font-size: 13px;
      color: #475569;
      line-height: 1.65;
      margin-bottom: 8px
    }

    .policy-card ul {
      padding-left: 18px;
      margin: 0 0 10px
    }

    /* Shared base cho tất cả modal close buttons — chống Elementor Kit CSS override button */
    .modal-close {
      position: absolute !important;
      top: 12px !important;
      right: 12px !important;
      width: 32px !important;
      height: 32px !important;
      min-height: unset !important;
      border-radius: 50% !important;
      border: none !important;
      padding: 0 !important;
      font-size: 18px !important;
      font-weight: 400 !important;
      line-height: 1 !important;
      cursor: pointer !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      z-index: 3 !important;
      transition: background .2s !important;
    }

    /* policy-modal: xám nhạt trên nền trắng */
    .policy-close {
      background: #f1f5f9 !important;
      color: #475569 !important;
      display: flex !important;
      align-items: center;
      justify-content: center;
      line-height: 1;
      box-shadow: none !important
    }

    .policy-cta {
      margin-top: 14px;
      padding: 12px;
      background: linear-gradient(135deg, #fff7e6, #fef3c7);
      border-radius: 10px;
      font-size: 12px;
      color: #78350f;
      text-align: center
    }

    .policy-cta strong {
      color: #DC2626
    }

    /* ═══ FLOATING CTAs ═══ */
    .float-wrap {
      position: fixed;
      bottom: 80px;
      right: 14px;
      z-index: 500;
      display: flex;
      flex-direction: column;
      gap: 10px
    }

    @media(min-width:1024px) {
      .float-wrap {
        bottom: 32px
      }
    }

    .float-btn {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
      font-size: 22px;
      text-decoration: none;
      transition: transform .15s
    }

    .float-btn:hover {
      transform: scale(1.08)
    }

    .fb-phone {
      background: #DC2626;
      animation: pulse 2.2s infinite
    }

    .fb-zalo {
      background: #0068FF
    }

    @keyframes pulse {

      0%,
      100% {
        box-shadow: 0 0 0 0 rgba(220, 38, 38, .4)
      }

      60% {
        box-shadow: 0 0 0 9px rgba(220, 38, 38, 0)
      }
    }

    /* ═══ MOBILE TABS SCROLL (cả 2 bộ tab dùng chung) ═══ */
    @media(max-width:640px) {
      .tabs-row { width: 100% !important; border-radius: 999px !important}

      .mtab { font-size: 12px !important; padding: 8px 12px !important}
    }

    /* ═══ BEFORE/AFTER GALLERY ═══ */
    .ba-tabs-wrap {
      position: relative;
      width: 100%;
      max-width: 600px;
      margin: 16px auto 24px;
      padding: 0 4px;
    }

    .ba-tabs-wrap::after {
      content: '›';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 48px;
      background: linear-gradient(90deg, transparent 0%, #1255b2 70%);
      pointer-events: none;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding-right: 8px;
      font-size: 20px;
      font-weight: 300;
      color: rgba(255, 255, 255, .8);
      z-index: 5;
      opacity: 0;
      transition: opacity .3s ease;
    }

    .ba-tabs-wrap.has-scroll::after {
      opacity: 1;
    }

    @media(min-width:768px) {
      .ba-tabs-wrap::after {
        display: none;
      }
    }

    .ba-tabs {
      display: flex;
      gap: 4px;
      overflow-x: auto;
      scrollbar-width: none;
      background: rgba(255, 255, 255, .05);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 30px;
      padding: 4px;
      max-width: 100%;
      -webkit-overflow-scrolling: touch;
    }

    .ba-tabs::-webkit-scrollbar {
      display: none;
    }
    
    .ba-tabs {
      /* Reset right padding slightly so margin-right on last-child handles the gap correctly without doubling */
      padding-right: 0;
    }

    .ba-tab {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 20px;
      font-size: 12px;
      font-weight: 700;
      color: rgba(255, 255, 255, .7);
      background: transparent;
      cursor: pointer;
      white-space: nowrap;
      border: none;
      border-radius: 999px;
      transition: all .22s cubic-bezier(.4, 0, .2, 1);
      flex-shrink: 0;
      min-height: 40px;
    }

    /* Fix WebKit bug: padding-right is ignored in overflow-x: auto, causing the last tab to touch the border and get clipped */
    .ba-tab:last-child {
      margin-right: 4px;
    }

    .ba-tab.gb-block-is-current {
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
      font-weight: 800;
      box-shadow: 0 4px 12px rgba(254, 207, 126, .28);
    }

    .ba-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      max-width: 960px;
      margin: 0 auto 32px;
    }

    .ba-pair {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4px;
      border-radius: 10px;
      overflow: hidden;
    }

    .ba-pair.hidden {
      display: none;
    }

    .ba-photo {
      position: relative;
      overflow: hidden;
    }

    .ba-photo img {
      width: 100%;
      height: 175px;
      object-fit: cover;
      object-position: top;
      display: block;
      transition: transform .3s;
    }

    .ba-photo:hover img {
      transform: scale(1.04);
    }

    .ba-lbl {
      position: absolute;
      top: 8px;
      left: 8px;
      background: rgba(0, 0, 0, .55);
      color: #fff;
      font-size: 12px;
      font-weight: 800;
      padding: 4px 8px;
      border-radius: 6px;
      text-transform: uppercase;
      letter-spacing: .5px;
    }

    .ba-lbl.after {
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
    }

    @media(max-width:600px) {
      .ba-grid { grid-template-columns: 1fr !important;
      }

      .ba-photo img { height: 140px !important;
      }
    }

    @media(min-width:1024px) {
      .ba-photo img {
        height: 210px;
      }
    }

    /* ═══ DOCTORS DARK FIX ═══ */
    .doctors-sec {
      background: #142b6b;
      padding: 64px 0
    }

    /* ═══ REASON CARDS — số thứ tự ═══ */
    .rc-num {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      font-weight: 900;
      color: #1F4398;
      margin-bottom: 12px
    }

    .reasons-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 32px
    }

    @media(min-width:768px) {
      .reasons-grid {
        grid-template-columns: repeat(4, 1fr)
      }
    }

    .reason-card.star {
      border-color: #B8770C;
      background: rgba(184, 119, 12, .04)
    }

    /* ═══ MOBILE STICKY BAR ═══ */
    .sticky-bar {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 550;
      display: flex;
      box-shadow: 0 -2px 12px rgba(0, 0, 0, .18)
    }

    .sb-btn {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      padding: 8px 8px 12px;
      font-size: 12px;
      font-weight: 800;
      text-decoration: none;
      border: none;
      cursor: pointer;
      min-height: 56px
    }

    .sb-icon {
      font-size: 18px
    }

    .sb-call {
      background: #DC2626;
      color: #fff
    }

    .sb-zalo {
      background: #0068FF;
      color: #fff
    }

    .sb-form {
      background: #1F4398;
      color: #fff
    }

    @media(max-width:1023px) {
      body { padding-bottom: 0 !important}
    }

    @media(max-width:360px) {
      .sb-btn { font-size: 12px !important}

      .sticky-bar svg { width: 18px !important; height: 18px !important}
    }

    /* ═══ CONSULT MODAL ═══ */
    .consult-modal {
      position: fixed;
      inset: 0;
      background: rgba(8, 16, 48, .88);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      z-index: 950;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      opacity: 0;
      visibility: hidden;
      transition: opacity .28s ease, visibility .28s ease
    }

    .consult-modal.show {
      opacity: 1;
      visibility: visible
    }

    .cm-box {
      background: #fff;
      border-radius: 20px;
      max-width: 450px;
      width: 100%;
      max-height: 92vh;
      overflow-y: auto;
      position: relative;
      transform: translateY(28px) scale(.97);
      transition: transform .32s cubic-bezier(.34, 1.4, .64, 1);
      box-shadow: 0 28px 80px rgba(0, 0, 0, .38)
    }

    .consult-modal.show .cm-box {
      transform: translateY(0) scale(1)
    }

    /* consultModal: trắng bán trong suốt trên nền header xanh đậm */
    .cm-close {
      width: 36px !important;
      height: 36px !important;
      font-size: 22px !important;
      background: rgba(255, 255, 255, .18) !important;
      color: #fff !important;
    }

    .cm-close:hover {
      background: rgba(255, 255, 255, .32) !important;
    }

    .cm-head {
      background: linear-gradient(145deg, #142b6b, #1F4398);
      border-radius: 20px 20px 0 0;
      padding: 32px 24px 24px
    }

    .cm-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(254, 207, 126, .18);
      border: 1px solid rgba(254, 207, 126, .32);
      border-radius: 999px;
      padding: 4px 16px;
      font-size: 12px;
      font-weight: 800;
      color: #FECF7E;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-bottom: 12px
    }

    .cm-h {
      font-size: 24px;
      font-weight: 900;
      color: #fff;
      line-height: 1.2;
      margin-bottom: 8px
    }

    .cm-h em {
      font-style: normal;
      color: #FECF7E
    }

    .cm-perks-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px
    }

    .cm-perk {
      display: flex;
      align-items: center;
      gap: 4px;
      font-size: 12px;
      color: rgba(255, 255, 255, .75);
      font-weight: 600
    }

    .cm-perk::before {
      content: "✓";
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: rgba(254, 207, 126, .25);
      border: 1px solid rgba(254, 207, 126, .4);
      color: #FECF7E;
      font-size: 9px;
      font-weight: 900;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0
    }

    .cm-body {
      padding: 24px
    }

    .cm-divider {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 12px;
      color: #64748B;
      margin: 16px 0;
      text-align: center
    }

    .cm-divider::before,
    .cm-divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: #E5E7EB
    }

    @media(max-width:480px) {
      .cm-head { padding: 20px 20px !important}

      .cm-body { padding: 20px !important}

      .cm-h { font-size: 20px !important}
    }

    /* ═══ MINI FAQ (dưới Hero) ═══ */
    .mini-faq {
      background: #fff;
      border-top: 1px solid #E5E7EB;
      padding: 24px 0
    }

    .mini-faq-h {
      font-size: 14px;
      font-weight: 800;
      color: #1F4398;
      text-align: center;
      margin-bottom: 16px;
      letter-spacing: .3px
    }

    .mini-faq-h em {
      font-style: normal;
      color: #B8770C
    }

    .mini-faq-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 8px;
      max-width: 760px;
      margin: 0 auto
    }

    .mini-faq-item {
      background: #F9F8F5;
      border: 1px solid #E5E7EB;
      border-radius: 10px;
      overflow: hidden;
      transition: border-color .2s
    }

    .mini-faq-item.open {
      border-color: #1F4398
    }

    .mini-faq-q {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 12px 16px;
      cursor: pointer;
      font-size: 15px;
      font-weight: 700;
      color: #1F4398;
      user-select: none
    }

    .mini-faq-q::before {
      content: "?";
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: linear-gradient(135deg, #EBA800 0%, #FECF7E 55%, #D49010 100%);
      color: #1F4398;
      font-size: 11px;
      font-weight: 900;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0
    }

    .mini-faq-ico {
      font-size: 16px;
      font-weight: 300;
      flex-shrink: 0;
      transition: transform .22s;
      line-height: 1;
      margin-left: auto;
      color: #1F4398
    }

    .mini-faq-item.open .mini-faq-ico {
      transform: rotate(45deg)
    }

    .mini-faq-a {
      font-size: 14px;
      color: #374151;
      line-height: 1.75;
      padding: 0 16px 12px 50px;
      display: none
    }

    .mini-faq-item.open .mini-faq-a {
      display: block
    }

    @media(min-width:768px) {
      .mini-faq-grid {
        grid-template-columns: 1fr 1fr
      }
    }

    @media(min-width:1024px) {
      .sticky-bar {
        display: none
      }
    }

    /* ═══ SHOW-MORE PATTERN (mobile only — desktop hiện hết) ═══ */
    .show-more-btn {
      display: none;
      margin: 20px auto 0;
      background: transparent;
      border: 1.5px solid #1F4398;
      color: #1F4398;
      font-size: 12px;
      font-weight: 800;
      padding: 10px 20px;
      border-radius: 999px;
      cursor: pointer;
      align-items: center;
      gap: 8px;
      transition: background .2s, color .2s;
    }

    .show-more-btn:hover {
      background: #1F4398;
      color: #fff
    }

    .show-more-btn .smb-arrow {
      transition: transform .25s;
      display: inline-block
    }

    .show-more-btn.open .smb-arrow {
      transform: rotate(180deg)
    }

    .show-more-btn .smb-open {
      display: none
    }

    .show-more-btn.open .smb-closed {
      display: none
    }

    .show-more-btn.open .smb-open {
      display: inline
    }

    /* Mobile-only behavior: ẨN .more-card mặc định, chỉ hiện khi parent có .show-more-open */
    @media(max-width:767px) {
      .show-more-btn { display: inline-flex !important}

      .reasons-grid .more-card,
      .price-grid .more-card { display: none !important}

      .reasons-sec.show-more-open .reasons-grid .more-card,
      .pricing-sec.show-more-open .price-grid .more-card { display: flex !important; flex-direction: column !important}

      .pricing-sec.show-more-open .price-grid .more-card { display: block !important}

      /* Restore inline-flex for the "Cần tư vấn giá?" card which uses flex */
      .pricing-sec.show-more-open .price-grid .more-card[style*="flex-direction:column"] { display: flex !important}
    }

    /* ═══ MOBILE GENERAL OVERFLOW FIX ═══ */
    @media(max-width:767px) {
      .wrap { padding: 0 14px !important}

      .hero-price { max-width: 100% !important}

      .hp-num { word-break: break-all !important}

      .trust-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; overflow: hidden !important}

      .pain-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important}

      .social-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important}

      .cases-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important}

      .price-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important}

      .reasons-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important}

      .price-card { padding: 14px 10px !important}

      .pc-num { font-size: clamp(15px, 4.5vw, 19px) !important; word-break: break-all !important}

      .mini-faq-q { font-size: 12px !important; padding: 10px 12px !important}

      .mini-faq-a { padding: 0 12px 12px 44px !important}

      .cd-row { flex-wrap: wrap !important; gap: 4px !important}

      .cd-box { min-width: 48px !important}
    }

    /* ═══ INLINE NAV (desktop ≥641px) ═══ */
    .hdr-inline-nav {
      display: none;
      align-items: center;
      gap: 0;
      overflow-x: auto;
      scrollbar-width: none;
      flex: 1;
      justify-content: center
    }

    .hdr-inline-nav::-webkit-scrollbar { display: none }

    /* Active nav item */
    .hn-a.hn-active {
      color: #FECF7E;
      font-weight: 700
    }

    @media(min-width:641px) {
      .hdr-inline-nav { display: flex }
      .hdr-nav { display: none }
      .hdr-top { padding: 8px 20px }
    }

    /* ═══ MOBILE NAV WRAP — scroll fade indicator ═══ */
    .hdr-nav-wrap {
      position: relative;
      overflow: hidden
    }

    .hdr-nav-wrap::after {
      content: '›';
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      width: 36px;
      background: linear-gradient(90deg, transparent 0%, #1F4398 65%);
      pointer-events: none;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding-right: 8px;
      font-size: 18px;
      font-weight: 300;
      color: rgba(255, 255, 255, .5);
      line-height: 1;
      opacity: 0;
      transition: opacity .25s ease
    }

    .hdr-nav-wrap.has-scroll::after { opacity: 1 }

    /* ═══ METHODS TABS WRAP — scroll gradient ═══ */
    .tabs-row-wrap {
      position: relative;
      overflow: visible
    }

    .tabs-row-wrap::after {
      content: '›';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 48px;
      background: linear-gradient(90deg, transparent 0%, #F9F8F5 70%);
      pointer-events: none;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding-right: 8px;
      font-size: 20px;
      font-weight: 300;
      color: #1F4398;
      opacity: 0;
      transition: opacity .25s ease;
      z-index: 2
    }

    .tabs-row-wrap.has-scroll::after { opacity: 1 }

    /* ═══ EXTENSIONS v2 — dark section heading overrides ═══ */
    .pain-sec .sec-tag,
    .process-sec .sec-tag,
    .reasons-sec .sec-tag,
    .tech-sec .sec-tag {
      color: rgba(255, 255, 255, .7)
    }

    .pain-sec .sec-h,
    .process-sec .sec-h,
    .reasons-sec .sec-h {
      color: rgba(255, 255, 255, .7)
    }

    /* ═══ EXTENSIONS v2 — YouTube lightbox ═══ */
    .yt-modal {
      position: fixed;
      inset: 0;
      z-index: 10000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px
    }

    .yt-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, .24);
      backdrop-filter: blur(6px)
    }

    .yt-wrap {
      position: relative;
      width: 100%;
      max-width: 900px;
      aspect-ratio: 16 / 9;
      z-index: 1
    }

    .yt-wrap iframe {
      width: 100%;
      height: 100%;
      border-radius: 10px
    }

    .yt-close {
      position: absolute;
      top: -44px;
      right: 0;
      background: none;
      border: none;
      color: #fff;
      font-size: 36px;
      line-height: 1;
      cursor: pointer;
      padding: 4px 8px;
      opacity: .8
    }

    .yt-close:hover { opacity: 1 }

/* == GB bridge (kn-lp-*) == hộp Elementor → block GB (base = :where() specificity 0, y Elementor: CSS trang thắng); số đo từ live 03/09 (output/_scratch/p4-pages/pg6/live-containers.json).
   .kn-lp-con = .e-con (boxed: 2 lớp, ngoài padding 0 10px · trong .kn-lp-con-in padding 10px 0, max-width 1300, gap 20)
   .kn-lp-con--full = .e-con-full (1 lớp, padding 10px, gap 20) · .kn-lp-w = .elementor-widget · .kn-lp-wc = .elementor-widget-container
   .kn-lp-heading = .elementor-heading-title · .kn-lp-sc = .elementor-shortcode · .kn-lp-ovl = .e-con có background overlay (::before) */
:where(.kn-lp-con) { position: relative; display: flex; flex-direction: column; flex-wrap: nowrap; padding: 0 10px; width: 100%; min-width: 0; box-sizing: border-box; } /* .e-con{--width:100%} */
:where(.kn-lp-con--full) { padding: 10px; gap: 20px; }
:where(.kn-lp-con-in) { position: static; height: 100%; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 20px; width: 100%; max-width: min(100%, 1300px); margin: 0 auto; padding: 10px 0; min-width: 0; box-sizing: border-box; }
@media (max-width: 767px) { :where(.kn-lp-con-in), :where(.kn-lp-con--full) { flex-wrap: wrap; } } /* Elementor --flex-wrap-mobile: wrap (đo 03/09; y style.css mục 13) */
:where(.kn-lp-w) { position: relative; min-width: 0; box-sizing: border-box; } /* .elementor-widget KHÔNG có width: trong flex column align-items:center (.trust-item) widget co theo chữ (đo C 04/09: 173 vs 237) */
.kn-lp-con .kn-lp-w, .kn-lp-con-in > .kn-lp-w { max-width: 100%; } /* Elementor (0,4,0) `.e-con.e-con > .e-con-inner > .elementor-widget{max-width:100%}` thắng cả custom_css của widget — giữ đúng thứ bậc (hero__model 800px KHÔNG áp trên live) */
/* Kit 3394 `.elementor-kit-3394 button{font-weight:700}` (0,1,1) + theme cũ `button{white-space:nowrap}` áp mọi nút trên live; child theme chỉ có `body button` (0,0,2) nên thua class LP (.show-more-btn 800) */
body.page-template-page-canvas-php button, body.page-template-page-canvas-php [type="button"], body.page-template-page-canvas-php [type="submit"] { font-weight: 700; }
:where(body.page-template-page-canvas-php) button, :where(body.page-template-page-canvas-php) [type="button"], :where(body.page-template-page-canvas-php) [type="submit"] { white-space: nowrap; }
:where(.kn-lp-con > .kn-lp-w > .kn-lp-wc, .kn-lp-con-in > .kn-lp-w > .kn-lp-wc) { height: 100%; } /* Elementor `.e-con > .elementor-widget > .elementor-widget-container{height:100%}` — .pain-card{height:100%} giãn theo ô lưới; cũng tái tạo PG6-8 (ảnh bác sĩ tràn 24px @≤767) */
:where(.kn-lp-heading) { margin: 0; padding: 0; line-height: 1.25; } /* live: .elementor-widget-heading .elementor-heading-title{line-height:1.25} (0,2,0) thắng .elementor-heading-title{line-height:1} — đo CDP 04/09, hero__form-tag span 25px vs 20px */
:where(.kn-lp-svg) { line-height: 0; } /* svg icon nội tuyến = generateblocks/shape span (PG6-28 10/09: gb/text rich-text nuốt svg không chữ ⟹ INVALID; shape KHÔNG ghi attr html thì bất biến); line-height 0 y .gb-shape */
:where(.kn-lp-w--image .kn-lp-wc) { text-align: center; }
:where(.kn-lp-w--image img) { max-width: 100%; height: auto; }
.kn-lp-w--image img { display: inline-block; vertical-align: middle; } /* y Elementor (0,1,1) — CSS trang có `img{display:block}` nên :where thua ⟹ ảnh bác sĩ không canh giữa (Sơn soát 04/09) */
.kn-lp-ovl::before { content: ""; position: absolute; inset: 0; background-color: var(--kn-ovl-bg, transparent); background-image: var(--kn-ovl-img, none); opacity: var(--kn-ovl-opacity, .5); pointer-events: none; }
.kn-lp-ovl > * { position: relative; }
/* GB Pro accordion thay nested-accordion: biểu tượng −/+ theo trạng thái (GB mặc định ẩn cả hai). */
.faq-list .gb-accordion__toggle-icon { display: inline-flex; line-height: 0; }
.faq-list .gb-accordion__toggle-icon-close { display: block; }
.faq-list .gb-accordion__toggle-icon-open { display: none; }
.faq-list .gb-accordion__item-open .gb-accordion__toggle-icon-close { display: none; }
.faq-list .gb-accordion__item-open .gb-accordion__toggle-icon-open { display: block; }
/* == Sửa theo yêu cầu Sơn 04/09 (khác live có chủ đích, known-parity-bugs PG6-16) == */
.kng-site-header .hn-a:hover { color: #FECF7E; } /* live: .hn-a:hover{color:#fff} trên header nền #fff ⟹ chữ biến mất; dùng màu mục đang chọn (.hn-active) */

/* ── v2 (Sơn duyệt 04/09): overlay GB Pro thay modal render bằng JS. GB in `.gb-overlay--standard` (fixed, flex căn giữa, 100%×100%)
 * > `.gb-overlay__content` (width 100% khi width_mode=full) > lớp gốc nội dung `.kn-lp-overlay` = hộp flex căn giữa + padding 16px
 * y #consultModal/#policy-modal của live; `.cm-box`/`.policy-card` (max-width 450/540, width 100%) giữ nguyên CSS nguồn. */
.kn-lp-overlay { display: flex; align-items: center; justify-content: center; width: 100%; max-height: 100%; padding: 16px; box-sizing: border-box; }
/* Pane tab Trước/Sau là `.ba-grid` (display:grid ở CSS nguồn, (0,1,0) — in SAU tabs.css của GB nên thắng `.gb-tabs__item{display:none}`
 * ⟹ 4 pane mở toang; pane mở lại bị `.gb-tabs__item.gb-tabs__item-open{display:block}` (0,2,0) đè mất grid). Khai (0,2,0) theo đúng thứ tự. */
.ba-grid.gb-tabs__item { display: none; }
.ba-grid.gb-tabs__item.gb-tabs__item-open { display: grid; }
