/* ============================================================
   AppAI.vn — Site-wide Design System
   Port từ HTML v4: design tokens, base, buttons, header/footer
   Scope: body.appai-vn-theme
   ============================================================ */

/* --appai-vn-- Design Tokens --appai-vn-- */
:root{
  --appai-vn-bg:#ffffff;
  --appai-vn-bg-elevated:#f8fafc;
  --appai-vn-bg-muted:#f1f5f9;
  --appai-vn-bg-card:#ffffff;
  --appai-vn-bg-hero:linear-gradient(176deg,#eef4ff 0%,#f6f9ff 40%,#ffffff 100%);
  --appai-vn-surface-50:rgba(0,0,0,.012);
  --appai-vn-surface-100:rgba(0,0,0,.025);
  --appai-vn-surface-200:rgba(0,0,0,.045);
  --appai-vn-border:rgba(15,23,42,.08);
  --appai-vn-border-subtle:rgba(15,23,42,.05);
  --appai-vn-border-hover:rgba(15,23,42,.13);
  --appai-vn-border-focus:rgba(0,92,224,.4);
  --appai-vn-text-primary:#0a0f1e;
  --appai-vn-text-secondary:#374151;
  --appai-vn-text-tertiary:#6b7280;
  --appai-vn-text-quaternary:#9ca3af;
  --appai-vn-blue-600:#005CE0;
  --appai-vn-blue-700:#0048B3;
  --appai-vn-blue-500:#1672EA;
  --appai-vn-blue-400:#579AF0;
  --appai-vn-blue-300:#91BEF7;
  --appai-vn-blue-50:#F0F6FF;
  --appai-vn-blue-100:#DCEAFF;
  --appai-vn-blue-glow:rgba(0,92,224,.12);
  --appai-vn-blue-glow-lg:rgba(0,92,224,.2);
  --appai-vn-cyan-600:#0891b2;--appai-vn-cyan-500:#06b6d4;--appai-vn-cyan-50:#ecfeff;--appai-vn-cyan-glow:rgba(8,145,178,.1);
  --appai-vn-violet-600:#7c3aed;--appai-vn-violet-500:#8b5cf6;--appai-vn-violet-50:#f5f3ff;--appai-vn-violet-100:#ede9fe;--appai-vn-violet-glow:rgba(124,58,237,.08);
  --appai-vn-emerald-600:#059669;--appai-vn-emerald-500:#10b981;--appai-vn-emerald-50:#ecfdf5;--appai-vn-emerald-100:#d1fae5;--appai-vn-emerald-glow:rgba(5,150,105,.08);
  --appai-vn-rose-600:#e11d48;--appai-vn-rose-50:#fff1f2;--appai-vn-rose-100:#ffe4e6;--appai-vn-rose-400:#fb7185;
  --appai-vn-amber-500:#f59e0b;--appai-vn-amber-400:#fbbf24;--appai-vn-amber-50:#fffbeb;
  --appai-vn-shadow-xs:0 1px 2px rgba(15,23,42,.04);
  --appai-vn-shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.02);
  --appai-vn-shadow-md:0 4px 16px rgba(15,23,42,.06),0 1px 4px rgba(15,23,42,.03);
  --appai-vn-shadow-lg:0 10px 28px rgba(15,23,42,.07),0 2px 8px rgba(15,23,42,.03);
  --appai-vn-shadow-xl:0 20px 44px rgba(15,23,42,.08),0 4px 16px rgba(15,23,42,.03);
  --appai-vn-shadow-2xl:0 28px 64px rgba(15,23,42,.12);
  --appai-vn-shadow-blue:0 0 0 1px rgba(0,92,224,.04),0 4px 24px rgba(0,92,224,.06);
  --appai-vn-shadow-blue-lg:0 0 0 1px rgba(0,92,224,.06),0 8px 40px rgba(0,92,224,.1);
  --appai-vn-shadow-card-hover:0 12px 32px rgba(15,23,42,.08),0 2px 8px rgba(0,92,224,.04);
  --appai-vn-r-xs:6px;--appai-vn-r-sm:8px;--appai-vn-r-md:12px;--appai-vn-r-lg:16px;--appai-vn-r-xl:20px;--appai-vn-r-2xl:24px;--appai-vn-r-full:9999px;
  --appai-vn-sp-1:4px;--appai-vn-sp-2:8px;--appai-vn-sp-3:12px;--appai-vn-sp-4:16px;--appai-vn-sp-5:20px;--appai-vn-sp-6:24px;--appai-vn-sp-8:32px;
  --appai-vn-sp-10:40px;--appai-vn-sp-12:48px;--appai-vn-sp-16:64px;--appai-vn-sp-20:80px;--appai-vn-sp-24:96px;
  --appai-vn-font:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --appai-vn-v4-container:1180px;
  --appai-vn-ease:cubic-bezier(.4,0,.2,1);
  --appai-vn-ease-out:cubic-bezier(.2,.8,.3,1);
  --appai-vn-ease-spring:cubic-bezier(.34,1.56,.64,1);
  --appai-vn-duration-fast:.15s;--appai-vn-duration:.25s;--appai-vn-duration-slow:.4s;
}

/* --appai-vn-- Base --appai-vn-- */
body.appai-vn-theme{
  font-family:var(--appai-vn-font)!important;font-size:1.125rem;font-weight:400;line-height:1.7;
  color:var(--appai-vn-text-secondary);background:var(--appai-vn-bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
}
body.appai-vn-theme{overflow-x:hidden}
body.appai-vn-theme html{scroll-behavior:smooth}
body.appai-vn-theme h1,body.appai-vn-theme h2,body.appai-vn-theme h3,body.appai-vn-theme h4,
body.appai-vn-theme h5,body.appai-vn-theme h6,body.appai-vn-theme .heading-font{
  color:var(--appai-vn-text-primary);font-family:var(--appai-vn-font)!important;font-weight:700;line-height:1.22;
  letter-spacing:-.02em;text-transform:none;
}
body.appai-vn-theme a{color:var(--appai-vn-blue-600);text-decoration:none;transition:color var(--appai-vn-duration) var(--appai-vn-ease)}
body.appai-vn-theme a:hover{color:var(--appai-vn-blue-700)}
body.appai-vn-theme #wrapper{overflow:clip;background:var(--appai-vn-bg)}
body.appai-vn-theme #wrapper #main{min-height:0;background:#fff}
/* Wrapper resets belong only to layouts intentionally rebuilt for AppAI. */
body.appai-vn-layout-managed #wrapper #main{padding:0}
body.appai-vn-layout-managed .page-wrapper,
body.appai-vn-layout-managed #content{padding:0!important;margin:0}
body.appai-vn-layout-managed .page-wrapper > .row{margin:0;max-width:none}
body.appai-vn-layout-managed .page-wrapper > .row > .col{padding:0}
body.appai-vn-layout-managed #content > .row{margin:0;max-width:none}
/* Keep native Flatsome containers and clear the floating site header. */
body.appai-vn-layout-flatsome #wrapper #main{padding-top:64px}
@media (max-width:1024px){body.appai-vn-layout-flatsome #wrapper #main{padding-top:42px}}

/* --appai-vn-- Native Flatsome content pages --appai-vn--
   Keep the parent template and the_content() fully editable. This layer only
   gives ordinary Pages (legal, policy and future informational pages) the
   same visual language as the rest of AppAI.vn. */
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #wrapper #main{
  background:
    radial-gradient(circle at 12% 0,rgba(0,92,224,.07),transparent 30%),
    radial-gradient(circle at 88% 4%,rgba(124,58,237,.045),transparent 26%),
    linear-gradient(180deg,#f5f8ff 0,#fbfdff 280px,#fff 620px);
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .page-wrapper{
  width:calc(100% - 48px);max-width:960px;margin-left:auto!important;margin-right:auto!important;
  padding:36px 0 72px;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .page-wrapper > #content{
  width:100%;max-width:100%;flex-basis:100%;padding:48px 56px 56px!important;
  background:rgba(255,255,255,.96);border:1px solid var(--appai-vn-border);
  border-radius:var(--appai-vn-r-2xl);box-shadow:var(--appai-vn-shadow-xl);
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-header{
  max-width:760px;margin:0 auto 34px;padding:0 0 28px;border-bottom:1px solid var(--appai-vn-border-subtle);
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-title{
  max-width:720px;margin:0 auto;color:var(--appai-vn-text-primary);
  font-size:clamp(2rem,3.2vw,2.625rem);font-weight:800;line-height:1.14;letter-spacing:-.04em;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-header .is-divider{
  width:64px;max-width:none;height:4px;margin:22px auto 0;border-radius:var(--appai-vn-r-full);
  background:linear-gradient(90deg,var(--appai-vn-blue-600),var(--appai-vn-violet-500));opacity:1;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content{
  max-width:760px;margin:0 auto;color:var(--appai-vn-text-secondary);
  font-size:1rem;line-height:1.82;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content > :first-child{margin-top:0}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content > :last-child{margin-bottom:0}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content p{margin:0 0 20px}
body:is(.appai-vn-page-terms-of-service,.appai-vn-page-privacy-policy) #main .entry-content > p:first-child{
  display:inline-flex;align-items:center;min-height:34px;margin:0 0 24px;padding:6px 13px;
  border:1px solid var(--appai-vn-blue-100);border-radius:var(--appai-vn-r-full);
  background:var(--appai-vn-blue-50);color:var(--appai-vn-blue-700);font-size:.8125rem;font-weight:600;line-height:1.5;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content h2{
  margin:40px 0 16px;padding-left:14px;border-left:3px solid var(--appai-vn-blue-600);
  color:var(--appai-vn-text-primary);font-size:1.45rem;font-weight:750;line-height:1.35;letter-spacing:-.025em;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content h3{
  margin:32px 0 12px;color:var(--appai-vn-text-primary);font-size:1.16rem;font-weight:700;line-height:1.4;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content h4{
  margin:28px 0 10px;color:var(--appai-vn-text-primary);font-size:1rem;font-weight:700;line-height:1.45;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content :is(ul,ol){
  margin:10px 0 26px;padding-left:1.35rem;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content li{margin:0 0 10px;padding-left:5px}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content li:last-child{margin-bottom:0}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content li::marker{
  color:var(--appai-vn-blue-600);font-weight:700;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content a{
  color:var(--appai-vn-blue-600);font-weight:600;text-decoration:underline;
  text-decoration-color:rgba(0,92,224,.3);text-decoration-thickness:1px;text-underline-offset:3px;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content a:hover{
  color:var(--appai-vn-blue-700);text-decoration-color:currentColor;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content a:focus-visible{
  outline:3px solid rgba(0,92,224,.22);outline-offset:3px;border-radius:3px;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content blockquote{
  margin:28px 0;padding:20px 22px;border:1px solid var(--appai-vn-blue-100);border-left:4px solid var(--appai-vn-blue-600);
  border-radius:0 var(--appai-vn-r-md) var(--appai-vn-r-md) 0;background:var(--appai-vn-blue-50);
  color:var(--appai-vn-text-secondary);font-size:1rem;font-style:normal;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content :is(table,pre){
  margin:28px 0;border-radius:var(--appai-vn-r-md);
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content table{
  overflow:hidden;border:1px solid var(--appai-vn-border);background:#fff;box-shadow:var(--appai-vn-shadow-xs);
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content :is(th,td){
  padding:12px 14px;border-color:var(--appai-vn-border-subtle);text-align:left;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content th{
  background:var(--appai-vn-bg-muted);color:var(--appai-vn-text-primary);font-weight:650;
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content hr{
  margin:36px 0;border:0;border-top:1px solid var(--appai-vn-border-subtle);
}
body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content img{
  height:auto;border-radius:var(--appai-vn-r-lg);box-shadow:var(--appai-vn-shadow-md);
}
@media (max-width:768px){
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .page-wrapper{
    width:calc(100% - 32px);padding:30px 0 56px;
  }
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .page-wrapper > #content{
    padding:38px 30px 44px!important;border-radius:var(--appai-vn-r-xl);
  }
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-header{margin-bottom:28px;padding-bottom:24px}
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-title{font-size:clamp(1.8rem,7vw,2.25rem)}
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content h2{margin-top:34px;font-size:1.3rem}
}
@media (max-width:480px){
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .page-wrapper{
    width:calc(100% - 20px);padding:22px 0 44px;
  }
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .page-wrapper > #content{
    padding:30px 20px 36px!important;border-radius:18px;box-shadow:var(--appai-vn-shadow-lg);
  }
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-header{margin-bottom:24px;padding-bottom:20px}
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-title{font-size:1.75rem;line-height:1.2}
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-header .is-divider{margin-top:18px}
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content{font-size:.96875rem;line-height:1.78}
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content h2{
    margin-top:30px;padding-left:11px;font-size:1.2rem;
  }
  body.appai-vn-layout-flatsome.page:not(.woocommerce-page) #main .entry-content :is(ul,ol){padding-left:1.15rem}
}
/* Prevent Flatsome adding padding to main content area on home */
body.appai-vn-home .page-wrapper .col.large-12{padding:0!important}
body.appai-vn-home #main img{max-width:100%;height:auto;display:block}
body.appai-vn-home #main ul{list-style:none;margin:0;padding:0}
body.appai-vn-home #main *,body.appai-vn-home #main *::before,body.appai-vn-home #main *::after{
  margin:0;padding:0;box-sizing:border-box;
}

/* --appai-vn-- Container (scoped to home) --appai-vn-- */
body.appai-vn-home #main .container{max-width:var(--appai-vn-v4-container);margin:0 auto;padding:0 var(--appai-vn-sp-6)}
body.appai-vn-home #main .section{display:block;padding:var(--appai-vn-sp-20) 0;position:relative;overflow:visible}
body.appai-vn-home #main .section-alt{background:var(--appai-vn-bg-elevated)}
body.appai-vn-home #main .section h2,body.appai-vn-home #main .section h3{
  margin-top:0;text-transform:none;letter-spacing:-.02em;
}

/* --appai-vn-- Gradient text --appai-vn-- */
body.appai-vn-home #main .gradient-text{color:var(--appai-vn-blue-600)}

/* --appai-vn-- Section headers --appai-vn-- */
body.appai-vn-home #main .section-header{text-align:center;margin:0 auto var(--appai-vn-sp-12);max-width:680px}
body.appai-vn-home #main .section-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;
  border-radius:var(--appai-vn-r-full);font-size:.8125rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--appai-vn-blue-600);
  background:var(--appai-vn-blue-50);border:1px solid var(--appai-vn-blue-100);margin:0 0 var(--appai-vn-sp-4) 0}
body.appai-vn-home #main .section-chip i{font-size:.9rem}
body.appai-vn-home #main .section-header h2{font-size:2rem;margin:0 0 var(--appai-vn-sp-4) 0;letter-spacing:-.025em;font-weight:800;text-transform:none}
body.appai-vn-home #main .section-header p{font-size:1.125rem;color:var(--appai-vn-text-secondary);line-height:1.75;margin:0}

/* --appai-vn-- Scroll reveal --appai-vn-- */
body.appai-vn-home #main .rv{opacity:0;transform:translateY(24px) scale(.97);transition:opacity .7s var(--appai-vn-ease-out),transform .7s var(--appai-vn-ease-out)}
body.appai-vn-home #main .rv.shown{opacity:1;transform:translateY(0) scale(1)}
body.appai-vn-home #main .rv-d1{transition-delay:.1s}
body.appai-vn-home #main .rv-d2{transition-delay:.2s}
body.appai-vn-home #main .rv-d3{transition-delay:.3s}
body.appai-vn-home #main .rv-d4{transition-delay:.4s}

/* --appai-vn-- Buttons --appai-vn-- */
body.appai-vn-home #main .btn{display:inline-flex;align-items:center;gap:var(--appai-vn-sp-2);padding:11px 22px;
  font-family:var(--appai-vn-font);font-size:.875rem;font-weight:600;
  border-radius:var(--appai-vn-r-full);border:none;cursor:pointer;text-decoration:none;
  transition:all var(--appai-vn-duration) var(--appai-vn-ease);white-space:nowrap;position:relative;overflow:hidden}
body.appai-vn-home #main .btn i{font-size:1em;transition:transform var(--appai-vn-duration) var(--appai-vn-ease)}
body.appai-vn-home #main .btn:hover i{transform:translateX(3px)}
body.appai-vn-home #main .btn-primary{background:var(--appai-vn-blue-600);color:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.12),0 4px 14px var(--appai-vn-blue-glow)}
body.appai-vn-home #main .btn-primary:hover{transform:translateY(-2px);background:#0048B3;
  box-shadow:0 4px 8px rgba(0,0,0,.14),0 8px 24px var(--appai-vn-blue-glow-lg);color:#fff}
body.appai-vn-home #main .btn-primary:active{transform:translateY(0)}
body.appai-vn-home #main .btn-outline{background:var(--appai-vn-bg);color:var(--appai-vn-text-primary);
  border:1.5px solid var(--appai-vn-border);box-shadow:var(--appai-vn-shadow-sm)}
body.appai-vn-home #main .btn-outline:hover{border-color:var(--appai-vn-blue-600);color:var(--appai-vn-blue-700);
  background:#fff;transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,92,224,.12)}
body.appai-vn-home #main .btn-outline:hover i{color:var(--appai-vn-blue-700)}
body.appai-vn-home #main .btn-lg{padding:13px 28px;font-size:.9375rem}
body.appai-vn-home #main .btn-xl{padding:15px 34px;font-size:.9375rem}

/* ============================================================
   FLATSOME HEADER OVERRIDE — floating pill glassmorphism
   Khớp 1:1 với HTML v4 header (64px, glass, gradient accent)
   ============================================================ */
body.appai-vn-theme #wrapper #header{position:relative;z-index:1000}
body.appai-vn-theme #wrapper #header .header-bg-container{display:none!important}
body.appai-vn-theme #wrapper #header #top-bar{display:none!important}

/* --appai-vn-- Floating pill container --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-wrapper{
  position:fixed;top:12px;left:0;right:0;z-index:1000;
  width:calc(100% - 48px);max-width:var(--appai-vn-v4-container);height:64px;margin:0 auto;
  /* Flatsome animates transform on .stuck. Keep centering independent from transform. */
  transform:none!important;
  border-radius:var(--appai-vn-r-full);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 0 0 1px rgba(15,23,42,.04),0 2px 6px rgba(15,23,42,.04),
    0 8px 24px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.5);
  overflow:visible;
  transition:top .45s var(--appai-vn-ease),background .35s var(--appai-vn-ease),
    box-shadow .35s var(--appai-vn-ease),border-color .35s var(--appai-vn-ease),height .35s var(--appai-vn-ease);
}

/* --appai-vn-- Scrolled / stuck state (Flatsome adds .stuck to .header-wrapper) --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-wrapper.stuck,
body.appai-vn-theme #wrapper #header.stuck .header-wrapper{
  top:8px;
  left:0;right:0;margin-left:auto;margin-right:auto;transform:none!important;animation:none!important;
  background:rgba(255,255,255,.92);
  border-color:rgba(15,23,42,.06);
  box-shadow:0 0 0 1px rgba(15,23,42,.05),0 4px 12px rgba(15,23,42,.06),
    0 12px 40px rgba(15,23,42,.08);
}
body.appai-vn-theme #wrapper #header .header-wrapper.stuck::after,
body.appai-vn-theme #wrapper #header.stuck .header-wrapper::after{opacity:.7}

/* --appai-vn-- Gradient accent line --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-wrapper::after{
  content:'';position:absolute;bottom:0;left:20%;right:20%;height:1px;
  background:linear-gradient(90deg,transparent,var(--appai-vn-blue-500),var(--appai-vn-violet-500),transparent);
  opacity:.45;transition:opacity .35s var(--appai-vn-ease);pointer-events:none;
}

/* Header overlays only layouts that provide their own hero spacing. */
body.appai-vn-layout-managed #wrapper #header{height:0}

/* --appai-vn-- Header inner: height 64px giống v4 --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-main{height:62px!important;min-height:0!important;background:none!important}
body.appai-vn-theme #wrapper #header .header-main .header-inner{
  display:flex;align-items:center;gap:0;
  height:62px!important;min-height:0!important;
  padding:0 8px 0 24px;
}
body.appai-vn-theme #wrapper #header .header-main .header-inner::after{display:none;content:none}

/* --appai-vn-- Logo --appai-vn-- */
body.appai-vn-theme #wrapper #header #logo{
	margin-right:32px;flex-shrink:0;padding:0;
}

/* --appai-vn-- Ẩn Search icon --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-search-dropdown,
body.appai-vn-theme #wrapper #header .nav-icon.has-search,
body.appai-vn-theme #wrapper #header .header-search{
  display:none!important;
}

/* --appai-vn-- Nav links — size/spacing remain controlled by Flatsome Nav Size/Nav Spacing --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-nav-main{display:flex;align-items:center}
body.appai-vn-theme #wrapper #header .flex-left .header-nav-main{flex-wrap:nowrap}
body.appai-vn-theme #wrapper #header .header-nav-main > li{padding:0}
body.appai-vn-theme #wrapper #header .header-inner > .hide-for-medium.flex-right .header-nav-main > li{margin:0}
@media (min-width:850px){
  body.appai-vn-theme #wrapper #header .header-inner.logo-left > .hide-for-medium.flex-left{
    display:flex;align-items:center;justify-content:center;min-width:0;
  }
  body.appai-vn-theme #wrapper #header .header-inner.logo-left > .hide-for-medium.flex-left > .header-nav-main{
    width:auto;justify-content:center;
  }
}
body.appai-vn-theme #wrapper #header .flex-left .header-nav-main > li{flex:0 1 auto!important;min-width:min-content}
body.appai-vn-theme #wrapper #header .header-nav-main > li > a{
  min-height:0;display:inline-flex;align-items:center;
  padding:7px 14px!important;color:var(--appai-vn-text-secondary)!important;
  border-radius:var(--appai-vn-r-full);font-family:var(--appai-vn-font)!important;
  font-weight:500;
  letter-spacing:0!important;line-height:1.7;text-transform:none!important;
  transition:color .25s var(--appai-vn-ease),background .25s var(--appai-vn-ease),
    box-shadow .25s var(--appai-vn-ease),transform .18s var(--appai-vn-ease);
  background:transparent;border:none;
}
body.appai-vn-theme #wrapper #header .flex-left .header-nav-main > li > a{width:100%}
body.appai-vn-theme #wrapper #header .header-nav-main > li > a:hover,
body.appai-vn-theme #wrapper #header .header-nav-main > li > a:focus-visible{
  color:var(--appai-vn-blue-600)!important;background:rgba(0,92,224,.06);box-shadow:0 2px 10px rgba(0,92,224,.045);
}
body.appai-vn-theme #wrapper #header .header-nav-main > li > a:active{
  color:var(--appai-vn-blue-700)!important;background:rgba(0,92,224,.12);transform:translateY(1px);box-shadow:none;
}
body.appai-vn-theme #wrapper #header .header-nav-main > li.appai-vn-nav-current > a{
  color:var(--appai-vn-blue-700)!important;
  background:linear-gradient(135deg,rgba(0,92,224,.1),rgba(124,58,237,.055));
  font-weight:600;box-shadow:0 3px 12px rgba(0,92,224,.06);
}
body.appai-vn-theme #wrapper #header .header-nav-main > li.appai-vn-nav-current > a:hover,
body.appai-vn-theme #wrapper #header .header-nav-main > li.appai-vn-nav-current > a:focus-visible{
  color:var(--appai-vn-blue-700)!important;background:linear-gradient(135deg,rgba(0,92,224,.13),rgba(124,58,237,.07));
}

/* --appai-vn-- Ẩn Flatsome nav decorations (underline, border, etc.) --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-nav-main > li > a > span{border:none!important}
body.appai-vn-theme #wrapper #header .header-nav-main > li > a::before,
body.appai-vn-theme #wrapper #header .header-nav-main > li > a::after{display:none!important}

/* --appai-vn-- Sub-menu dropdown override --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-nav-main .sub-menu,
body.appai-vn-theme #wrapper #header .header-nav-main .nav-dropdown{
  border-radius:var(--appai-vn-r-md)!important;border:1px solid var(--appai-vn-border)!important;
  box-shadow:var(--appai-vn-shadow-lg)!important;background:#fff!important;
  margin-top:8px!important;overflow:hidden;
}
body.appai-vn-theme #wrapper #header .header-nav-main .nav-dropdown li a{
  font-size:.875rem!important;font-weight:500!important;color:var(--appai-vn-text-secondary)!important;
  padding:10px 18px!important;border-radius:0!important;text-transform:none!important;
  letter-spacing:0!important;transition:all .2s var(--appai-vn-ease);
}
body.appai-vn-theme #wrapper #header .header-nav-main .nav-dropdown li a:hover{
  color:var(--appai-vn-blue-600)!important;background:var(--appai-vn-blue-50)!important;
}

/* --appai-vn-- Header CTA button --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-button .button{
  display:inline-flex!important;align-items:center;gap:8px;height:40px;min-height:40px;margin:0;
  padding:9px 23.5px!important;border-radius:var(--appai-vn-r-full)!important;line-height:20px!important;
  font-family:var(--appai-vn-font)!important;font-size:.8125rem!important;font-weight:600!important;
  text-transform:none!important;letter-spacing:0!important;
  box-shadow:0 2px 8px rgba(0,92,224,.2),0 0 0 1px rgba(0,92,224,.08);
  transition:transform .25s var(--appai-vn-ease),box-shadow .25s var(--appai-vn-ease),background .25s var(--appai-vn-ease);
  background:var(--appai-vn-blue-600)!important;color:#fff!important;border-color:var(--appai-vn-blue-600)!important;
}
body.appai-vn-theme #wrapper #header .header-button,
body.appai-vn-theme #wrapper #header .header-button .button,
body.appai-vn-theme #wrapper #header .header-button .button span{flex-shrink:0;white-space:nowrap}
body.appai-vn-theme #wrapper #header .header-button .button:hover{
  transform:translateY(-1px);
  background:var(--appai-vn-blue-700)!important;color:#fff!important;
  box-shadow:0 4px 16px rgba(0,92,224,.3),0 0 0 1px rgba(0,92,224,.12);
}

/* --appai-vn-- Header social icons --appai-vn-- */
body.appai-vn-theme #wrapper #header .header-social-icons{display:flex;align-items:center;gap:2px}
body.appai-vn-theme #wrapper #header .header-social-icons .social-icons{
  display:flex;align-items:center;gap:2px;
}
body.appai-vn-theme #wrapper #header .header-social-icons a{
  width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;
  color:var(--appai-vn-text-tertiary);font-size:.95rem;border-radius:var(--appai-vn-r-sm);
  margin:0!important;
  transition:all .25s var(--appai-vn-ease);
}
body.appai-vn-theme #wrapper #header .header-social-icons a:hover{
  color:var(--appai-vn-blue-600);background:rgba(0,92,224,.06);
}

/* Language selector lives in Header Builder's editable HTML 1 element. */
body.appai-vn-theme #wrapper #header .header-inner .flex-right .header-nav{gap:12px}
body.appai-vn-theme #wrapper #header .html_topbar_left{margin:0;padding:0}
body.appai-vn-theme .appai-vn-lang-switch{position:relative}
body.appai-vn-theme .appai-vn-lang-btn{display:flex;align-items:center;gap:4px;height:30px;min-height:0!important;margin:0!important;padding:6px 11px;
  border:1px solid var(--appai-vn-border);border-radius:var(--appai-vn-r-full);background:rgba(255,255,255,.55);
  color:var(--appai-vn-text-secondary);font:600 .8125rem/1.2 var(--appai-vn-font);cursor:pointer;
  transition:all .25s var(--appai-vn-ease)}
body.appai-vn-theme .appai-vn-lang-btn:hover{color:var(--appai-vn-blue-600);border-color:var(--appai-vn-blue-100);background:rgba(0,92,224,.04)}
body.appai-vn-theme .appai-vn-lang-btn i{font-size:.85rem}
body.appai-vn-theme .appai-vn-lang-arrow{font-size:.7rem!important;transition:transform .25s var(--appai-vn-ease)}
body.appai-vn-theme .appai-vn-lang-switch.open .appai-vn-lang-arrow{transform:rotate(180deg)}
body.appai-vn-theme .appai-vn-lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:150px;padding:6px;
  border:1px solid var(--appai-vn-border);border-radius:var(--appai-vn-r-md);background:#fff;box-shadow:var(--appai-vn-shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(-5px);z-index:1200;transition:all .22s var(--appai-vn-ease)}
body.appai-vn-theme .appai-vn-lang-switch.open .appai-vn-lang-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
body.appai-vn-theme .appai-vn-lang-dropdown a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;
  color:var(--appai-vn-text-secondary);font:500 .8125rem/1.4 var(--appai-vn-font);white-space:nowrap}
body.appai-vn-theme .appai-vn-lang-dropdown a:hover,body.appai-vn-theme .appai-vn-lang-dropdown a.active{
  color:var(--appai-vn-blue-600);background:var(--appai-vn-blue-50)}

/* --appai-vn-- Focus visible --appai-vn-- */
body.appai-vn-theme #wrapper #header a:focus-visible{outline:3px solid rgba(0,92,224,.28);outline-offset:3px}

/* ============================================================
   FLATSOME FOOTER — UX Block styled to match v4 light footer
   ============================================================ */
body.appai-vn-theme #wrapper #footer{
  margin:0;padding:0;background:var(--appai-vn-bg-elevated);
  border-top:1px solid var(--appai-vn-border-subtle);color:var(--appai-vn-text-tertiary);
}
body.appai-vn-theme #wrapper #footer .absolute-footer{display:none}

/* Footer section background */
body.appai-vn-theme #wrapper #footer .appai-vn-footer{background:var(--appai-vn-bg-elevated)!important}

/* Rebuild the native Row/Col output into the exact v4 footer geometry. */
body.appai-vn-theme #wrapper #footer .appai-vn-footer{
  display:block!important;min-height:0!important;padding:48px 0 24px!important;
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer > .section-content{
  width:100%;max-width:var(--appai-vn-v4-container);margin:0 auto;padding:0 var(--appai-vn-sp-6);
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer > .section-content > .row:first-of-type{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--appai-vn-sp-8);
  width:100%;max-width:none;min-height:189px;margin:0 0 var(--appai-vn-sp-10);
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer > .section-content > .row::before,
body.appai-vn-theme #wrapper #footer .appai-vn-footer > .section-content > .row::after{
  content:none;display:none;
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer > .section-content > .row:first-of-type > .col{
  width:auto;max-width:none;min-height:0;margin:0;padding:0;flex-basis:auto;
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-bottom{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
  width:100%;max-width:none;margin:0;padding:var(--appai-vn-sp-5) 0 0;
  border-top:1px solid var(--appai-vn-border-subtle);
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-bottom > .col{
  width:auto;max-width:none;min-height:0;margin:0;padding:0;flex-basis:auto;
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-bottom > .col:first-child{flex:1 1 auto}

/* Brand column — logo + desc + social */
body.appai-vn-theme #wrapper #footer .appai-vn-footer-logo{
  width:100%!important;height:30.6px;margin:0 0 var(--appai-vn-sp-3)!important;
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-logo .img-inner,
body.appai-vn-theme #wrapper #footer .appai-vn-footer-logo img{display:none!important}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-logo > a{
  display:flex;align-items:center;gap:var(--appai-vn-sp-2);height:30.6px;color:var(--appai-vn-text-primary);
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-logo > a::before{
  content:'\f78e';width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;
  border-radius:7px;background:linear-gradient(135deg,var(--appai-vn-blue-600),var(--appai-vn-blue-700));
  color:#fff;box-shadow:0 1px 4px rgba(0,92,224,.15);font:400 .9rem/1 'tabler-icons';-webkit-font-smoothing:antialiased;
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-logo > a::after{
  content:'AppAI';font:800 1.125rem/1.2 var(--appai-vn-font);letter-spacing:-.02em;color:var(--appai-vn-text-primary);
}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-desc,
body.appai-vn-theme #wrapper #footer .appai-vn-ft-desc p{
  max-width:280px;margin:0;color:var(--appai-vn-text-tertiary);font-size:.875rem;line-height:1.7;
}

/* Social icons */
body.appai-vn-theme #wrapper #footer .appai-vn-footer-brand .social-icons{display:flex;gap:var(--appai-vn-sp-2);margin-top:var(--appai-vn-sp-4)}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-brand .social-icons a,
body.appai-vn-theme #wrapper #footer .appai-vn-footer-brand .button.icon{
  width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  color:var(--appai-vn-text-tertiary);background:var(--appai-vn-bg)!important;
  border:1px solid var(--appai-vn-border)!important;border-radius:var(--appai-vn-r-sm)!important;
  box-shadow:none!important;font-size:.85rem;margin:0!important;padding:0!important;transform:none;
  transition:all .25s var(--appai-vn-ease);
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-brand .social-icons a:hover,
body.appai-vn-theme #wrapper #footer .appai-vn-footer-brand .button.icon:hover{
  color:#fff!important;border-color:var(--appai-vn-blue-600)!important;
  background:var(--appai-vn-blue-600)!important;box-shadow:0 4px 12px rgba(0,92,224,.2)!important;
  transform:translateY(-1px);
}
body.appai-vn-theme #wrapper #footer .appai-vn-footer-brand .social-icons a:hover i,
body.appai-vn-theme #wrapper #footer .appai-vn-footer-brand .button.icon:hover i{
  color:#fff!important;
}

/* Link columns — headings */
body.appai-vn-theme #wrapper #footer .appai-vn-ft-heading{
  margin:0 0 var(--appai-vn-sp-4)!important;padding:0;color:var(--appai-vn-text-primary)!important;
  font-family:var(--appai-vn-font)!important;font-size:.75rem!important;font-weight:600!important;
  text-transform:uppercase;letter-spacing:.07em;line-height:1.22;
}

/* Link columns — lists */
body.appai-vn-theme #wrapper #footer .appai-vn-ft-list{
  display:flex;flex-direction:column;gap:var(--appai-vn-sp-3);margin:0;padding:0;list-style:none;
}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-list li{
  margin:0;padding:0;color:var(--appai-vn-text-tertiary);
}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-list a{
  color:var(--appai-vn-text-tertiary);font-size:.9375rem;line-height:1.7;
  text-decoration:none;transition:color .2s var(--appai-vn-ease);
}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-list a:hover{
  color:var(--appai-vn-blue-600);
}

/* Divider */
body.appai-vn-theme #wrapper #footer .appai-vn-footer .divider{
  height:1px!important;background:var(--appai-vn-border-subtle)!important;
  margin:22px 0 16px!important;
}

/* Footer bottom — copyright + legal */
body.appai-vn-theme #wrapper #footer .appai-vn-ft-copy{
  margin:0;color:var(--appai-vn-text-quaternary);font-size:.8125rem;line-height:1.7;
}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-copy strong{
  color:var(--appai-vn-text-secondary);
}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-legal{
  display:flex;gap:var(--appai-vn-sp-5);align-items:center;justify-content:flex-end;margin:0;
}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-legal > span{display:none}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-legal a{
  color:var(--appai-vn-text-quaternary);font-size:.8125rem;text-decoration:none;
  transition:color .2s var(--appai-vn-ease);
}
body.appai-vn-theme #wrapper #footer .appai-vn-ft-legal a:hover{
  color:var(--appai-vn-blue-600);
}

/* Footer responsive — mirrors the original 1024/480 breakpoints. */
@media (max-width:1024px){
  body.appai-vn-theme #wrapper #footer .appai-vn-footer > .section-content > .row:first-of-type{
    grid-template-columns:1fr 1fr;gap:var(--appai-vn-sp-6);
  }
}
@media (max-width:849px){
  body.appai-vn-theme #wrapper #footer .appai-vn-footer-brand{padding-bottom:0!important}
  body.appai-vn-theme #wrapper #footer .appai-vn-ft-legal{justify-content:flex-start;flex-wrap:wrap}
}
@media (max-width:480px){
  body.appai-vn-theme #wrapper #footer .appai-vn-footer > .section-content{padding:0 var(--appai-vn-sp-4)}
  body.appai-vn-theme #wrapper #footer .appai-vn-footer > .section-content > .row:first-of-type{
    grid-template-columns:1fr;
  }
  body.appai-vn-theme #wrapper #footer .appai-vn-footer-bottom{flex-direction:column;text-align:center}
  body.appai-vn-theme #wrapper #footer .appai-vn-footer-bottom > .col:first-child{flex:0 0 auto}
  body.appai-vn-theme #wrapper #footer .appai-vn-ft-legal{justify-content:center}
}

/* ============================================================
   FLATSOME MOBILE MENU OVERRIDE
   ============================================================ */
@media (max-width:1024px){
  body.appai-vn-theme .mfp-bg.main-menu-overlay{
    background:rgba(15,23,42,.32)!important;opacity:1!important;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  }
  body.appai-vn-theme .mfp-wrap.off-canvas-left .mfp-content{
    width:min(calc(100vw - 56px),340px);min-width:0;height:100dvh;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 72%,#f8fbff 100%);
    border:1px solid rgba(148,163,184,.22);border-left:0;border-radius:0 22px 22px 0;
    box-shadow:24px 0 64px rgba(15,23,42,.2);overflow:hidden;
  }
  body.appai-vn-theme .mfp-wrap.off-canvas-left .mfp-close{
    display:inline-flex;align-items:center;justify-content:center;
    left:calc(min(calc(100vw - 56px),340px) - 56px);right:auto;top:24px;width:40px;height:40px;min-height:40px;
    padding:0;border:1px solid var(--appai-vn-border);border-radius:12px;
    background:#fff!important;color:var(--appai-vn-text-primary)!important;opacity:1!important;mix-blend-mode:normal;
    font-size:0;line-height:1;text-align:center;
    box-shadow:0 8px 24px rgba(15,23,42,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    transition:transform .2s var(--appai-vn-ease),background .2s var(--appai-vn-ease)
  }
  body.appai-vn-theme .mfp-wrap.off-canvas-left .mfp-close:hover{background:var(--appai-vn-blue-50)!important;color:var(--appai-vn-blue-700)!important;transform:scale(1.04)}
  body.appai-vn-theme .mfp-wrap.off-canvas-left .mfp-close svg{display:block;width:21px;height:21px;margin:0;pointer-events:none;vertical-align:middle}
  body.appai-vn-theme #main-menu{height:100%;min-height:100%;background:transparent;color:var(--appai-vn-text-primary)}
  body.appai-vn-theme #main-menu .sidebar-menu{
    display:flex;flex-direction:column;width:100%;height:100%;min-height:100%;padding:0!important;overflow-y:auto
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-brand{
    flex:0 0 auto;padding:24px 76px 20px 20px;border-bottom:1px solid var(--appai-vn-border-subtle)
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-logo{
    display:inline-flex;align-items:center;width:auto;max-width:142px;min-height:38px;color:var(--appai-vn-text-primary)
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-logo-image{display:block;width:auto;max-width:142px;height:auto;max-height:42px;object-fit:contain}
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-.03em}
  body.appai-vn-theme #main-menu .sidebar-menu-top-content{flex:0 0 auto;padding:12px 16px 0}
  body.appai-vn-theme #main-menu .nav-sidebar{
    display:flex;flex:0 0 auto;flex-direction:column;gap:4px;width:100%;padding:14px 14px 16px
  }
  body.appai-vn-theme #main-menu .nav-sidebar > li{margin:0;border:0!important}
  body.appai-vn-theme #main-menu .nav-sidebar > li > a{
    display:flex;align-items:center;gap:12px;width:100%;min-height:52px;margin:0;padding:8px 11px;
    border:1px solid transparent!important;border-radius:13px;background:transparent;
    color:var(--appai-vn-text-secondary);font-family:var(--appai-vn-font);font-size:.9375rem;font-weight:500;
    line-height:1.45;text-transform:none;letter-spacing:0;
    transition:color var(--appai-vn-duration),background var(--appai-vn-duration),border-color var(--appai-vn-duration),transform var(--appai-vn-duration);
  }
  body.appai-vn-theme #main-menu .nav-sidebar > li > a:hover,
  body.appai-vn-theme #main-menu .nav-sidebar > li > a:focus-visible{
    color:var(--appai-vn-blue-700);background:var(--appai-vn-blue-50);border-color:rgba(0,92,224,.1)!important;transform:translateX(2px)
  }
  body.appai-vn-theme #main-menu .nav-sidebar > li > a:active{
    color:var(--appai-vn-blue-700);background:rgba(0,92,224,.12);transform:translateX(2px) scale(.99);box-shadow:none
  }
  body.appai-vn-theme #main-menu .nav-sidebar > li.appai-vn-nav-current > a{
    color:var(--appai-vn-blue-700);background:linear-gradient(135deg,rgba(0,92,224,.1),rgba(124,58,237,.055));
    border-color:rgba(0,92,224,.13)!important;font-weight:600;box-shadow:0 4px 14px rgba(0,92,224,.07)
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-icon{
    display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;
    border:1px solid var(--appai-vn-border-subtle);border-radius:10px;background:#fff;
    color:var(--appai-vn-text-tertiary);font-size:1.05rem;box-shadow:0 2px 6px rgba(15,23,42,.035);
    transition:color var(--appai-vn-duration),border-color var(--appai-vn-duration),background var(--appai-vn-duration)
  }
  body.appai-vn-theme #main-menu .nav-sidebar > li:is(.appai-vn-nav-current,:hover) .appai-vn-mobile-menu-icon{
    color:var(--appai-vn-blue-600);border-color:rgba(0,92,224,.12);background:rgba(255,255,255,.9)
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-arrow{
    display:inline-flex;align-items:center;justify-content:center;margin-left:auto;color:var(--appai-vn-text-quaternary);font-size:.9rem
  }
  body.appai-vn-theme #main-menu .appai-vn-nav-current .appai-vn-mobile-menu-arrow{color:var(--appai-vn-blue-500)}
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-footer{
    flex:0 0 auto;margin-top:auto;padding:18px 18px 20px;border-top:1px solid var(--appai-vn-border-subtle);
    background:linear-gradient(180deg,rgba(248,251,255,.35),rgba(239,246,255,.72))
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-cta{
    display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;padding:11px 18px;
    border:1px solid var(--appai-vn-blue-600);border-radius:13px;background:linear-gradient(135deg,var(--appai-vn-blue-600),#1672EA);
    color:#fff;font-size:.875rem;font-weight:600;line-height:1.3;box-shadow:0 8px 22px rgba(0,92,224,.22);
    transition:transform var(--appai-vn-duration),box-shadow var(--appai-vn-duration),background var(--appai-vn-duration)
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-cta:hover,
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-cta:focus-visible{
    color:#fff;background:linear-gradient(135deg,var(--appai-vn-blue-700),var(--appai-vn-blue-600));
    transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,92,224,.28)
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-cta i{font-size:1rem}
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-note{
    display:flex;align-items:center;justify-content:center;gap:6px;margin:11px 0 0;color:var(--appai-vn-text-tertiary);
    font-size:.6875rem;line-height:1.45;text-align:center
  }
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-note i{color:var(--appai-vn-emerald-500);font-size:.8rem}
  body.appai-vn-theme #main-menu a:focus-visible{outline:3px solid rgba(0,92,224,.22);outline-offset:2px}
}
@media (max-width:380px){
  body.appai-vn-theme .mfp-wrap.off-canvas-left .mfp-close{top:20px}
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-brand{padding:20px 72px 18px 16px}
  body.appai-vn-theme #main-menu .nav-sidebar{padding:10px 10px 12px}
  body.appai-vn-theme #main-menu .nav-sidebar > li > a{min-height:49px;padding:7px 9px}
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-icon{width:32px;height:32px;flex-basis:32px}
  body.appai-vn-theme #main-menu .appai-vn-mobile-menu-footer{padding:14px 14px 16px}
}

/* ============================================================
   MOBILE HEADER
   ============================================================ */
@media (max-width:1024px){
  body.appai-vn-theme #wrapper #header .hide-for-medium{display:none!important}
  body.appai-vn-theme #wrapper #header .show-for-medium{display:block!important}
  body.appai-vn-theme #wrapper #header .header-wrapper{
    top:8px;width:calc(100% - 24px);height:54px;border-radius:16px;
    box-shadow:0 6px 20px rgba(15,23,42,.06);
  }
  body.appai-vn-theme #wrapper #header .header-main{height:52px!important}
  body.appai-vn-theme #wrapper #header .header-main .header-inner{
    display:flex;align-items:center;gap:10px;
    height:52px!important;padding:0 6px 0 var(--appai-vn-sp-4);
  }
  body.appai-vn-theme #wrapper #header .header-main .header-inner::after{display:none;content:none}
  body.appai-vn-theme #wrapper #header .mobile-nav .header-button{display:block!important}
  body.appai-vn-theme #wrapper #header #logo{margin-right:auto}
  body.appai-vn-layout-managed #wrapper #header{height:0}
  /* Hamburger menu button — transparent, matching the reference mobile toggle. */
  body.appai-vn-theme #wrapper #header .mobile-nav .nav-icon > a,
  body.appai-vn-theme #wrapper #header .mobile-nav .header-button > a,
  body.appai-vn-theme #wrapper #header .header-inner .mfp-inline .nav-icon > a{
    width:36px!important;min-width:36px!important;height:36px!important;
    display:inline-flex!important;align-items:center;justify-content:center;padding:0!important;
    color:var(--appai-vn-text-primary)!important;background:transparent!important;
    border:0!important;border-radius:var(--appai-vn-r-sm)!important;box-shadow:none!important;
  }
  body.appai-vn-theme #wrapper #header .mobile-nav .nav-icon > a,
  body.appai-vn-theme #wrapper #header .header-inner .mfp-inline .nav-icon > a{
    width:36.8px!important;min-width:36.8px!important;height:40px!important;
  }
  body.appai-vn-theme #wrapper #header .mobile-nav .header-button > a{
    width:auto!important;min-width:0!important;height:40px!important;padding:9px 23.5px!important;
    color:#fff!important;background:var(--appai-vn-blue-600)!important;border:1px solid var(--appai-vn-blue-600)!important;
    border-radius:var(--appai-vn-r-full)!important;box-shadow:0 2px 8px rgba(0,92,224,.2)!important;
  }
}

/* ============================================================
   BACK TO TOP
   ============================================================ */
.appai-vn-btt{position:fixed;bottom:24px;right:24px;width:40px;height:40px;border-radius:var(--appai-vn-r-md);
  background:var(--appai-vn-bg);border:1px solid var(--appai-vn-border);box-shadow:var(--appai-vn-shadow-md);
  color:var(--appai-vn-text-tertiary);font-size:.95rem;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:900;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:all var(--appai-vn-duration) var(--appai-vn-ease)}
.appai-vn-btt.visible{opacity:1;visibility:visible;transform:translateY(0)}
.appai-vn-btt:hover{color:var(--appai-vn-blue-600);border-color:var(--appai-vn-blue-100);background:var(--appai-vn-blue-50);
  transform:translateY(-2px);box-shadow:var(--appai-vn-shadow-lg)}
/* Reuse Flatsome's functional back-to-top control and match the demo. */
body.appai-vn-theme .back-to-top{
  right:24px;bottom:24px;width:42px;height:42px;min-width:42px;min-height:42px;margin:0;padding:0;
  border:1px solid var(--appai-vn-border)!important;border-radius:var(--appai-vn-r-md)!important;
  background:#fff!important;color:var(--appai-vn-text-tertiary)!important;box-shadow:var(--appai-vn-shadow-md)!important}
body.appai-vn-theme .back-to-top:hover{color:var(--appai-vn-blue-600)!important;border-color:var(--appai-vn-blue-100)!important;background:var(--appai-vn-blue-50)!important}

body.appai-vn-theme .appai-vn-cursor-glow{position:absolute;left:0;top:0;width:360px;height:360px;border-radius:50%;
  pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(0,92,224,.075),transparent 68%);filter:blur(4px);will-change:transform}

/* ============================================================
   TABLET HEADER OVERRIDE
   ============================================================ */
@media (min-width:1025px) and (max-width:1120px){
  body.appai-vn-theme #wrapper #header .header-wrapper{width:calc(100% - 48px)}
  body.appai-vn-theme #wrapper #header .header-social-icons{display:none!important}
}

/* ============================================================
   UX BUILDER PREVIEW
   UX Builder re-renders elements after the front-end reveal script runs.
   Keep reveal elements visible in the editor while preserving animations live.
   ============================================================ */
body.ux-builder-iframe #main .rv{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:none!important;
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.appai-vn-theme *,body.appai-vn-theme *::before,body.appai-vn-theme *::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
