/*
Theme Name: VTVcab Core Theme
Text Domain: vtvcab-core
Version: 3.5.26
Description: Lightweight, mobile-first WordPress theme designed to replace Flatsome for service-selling sites.
Author: VTVcab
Tags: custom-menu, responsive-layout, blog
*/

:root{--vt-footer-logo-h:20px;
  --vt-bg:#ffffff;
  --vt-card:#ffffff;
  --vt-text:#111827;
  --vt-muted:#6b7280;
  --vt-line:rgba(17,24,39,.10);
  /* VTVcab brand palette (RGB/HEX in guideline) */
  --vt-brand-red:#da291c;
  --vt-brand-green:#009a44;
  --vt-brand-blue:#171c8f;
  --vt-brand-back:#027ced;
  /* Primary UI accents */
  --vt-accent: var(--vt-brand-back);
  --vt-accent-2: #34a3ff;
  --vt-radius:14px;
  --vt-shadow: 0 10px 24px rgba(17,24,39,.10);
  --vt-shadow-soft: 0 6px 14px rgba(17,24,39,.08);
  --vt-max: 1240px;
  --vt-logo-h:24px;
  --vt-header-h:64px;
  --vt-header-hm:56px;
  --vt-header-pad:16px;
  /* Consistent vertical rhythm */
  --vt-section-pad-y: clamp(22px, 3.2vw, 44px);
  --vt-section-tight-y: clamp(16px, 2.4vw, 28px);
  --vt-block-gap: clamp(12px, 2.0vw, 20px);

  /* UI surfaces */
  --vt-surface: #ffffff;
  --vt-surface-2: #f7f8fb;
  --vt-surface-3: #eef2f7;
  --vt-border: rgba(17,24,39,.10);
  --vt-border-strong: rgba(17,24,39,.16);

  /* Focus ring */
  --vt-focus: rgba(2,124,237,.55);
  --vt-focus-soft: rgba(2,124,237,.18);

  /* Dark section tokens (used in hero / mega) */
  --vt-dark-bg: #0b1430;
  --vt-dark-surface: rgba(255,255,255,.08);
  --vt-dark-border: rgba(255,255,255,.14);
  --vt-dark-text: rgba(255,255,255,.92);
  --vt-dark-muted: rgba(234,240,255,.78);

}

/* Service fallback cards (v2.4.2) */
.vt-service-icon{display:flex;align-items:center;justify-content:center;width:100%;height:180px;font-size:48px;line-height:1;}
@media (max-width:600px){.vt-service-icon{height:200px;font-size:52px;}}

/* Inline SVG icons */
.vt-ico{display:inline-flex;align-items:center;justify-content:center}
.vt-ico svg{width:42px;height:42px;display:block}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: 'Be Vietnam Pro', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  color:var(--vt-text);
  background: var(--vt-bg);
}

/* Ensure form controls inherit typography everywhere (fixes ugly font on /dang-ky-dich-vu in some environments) */
input, select, textarea, button{font: inherit; color: inherit;}
/* Accessible focus styles */
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus{outline:none;}
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible{
  outline: 3px solid var(--vt-focus);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--vt-focus-soft);
  border-radius: 12px;
}
/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block}
.vt-container{max-width:var(--vt-max); margin:0 auto; padding:0 16px}
.vt-sr{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}


/* Menus (desktop + dropdown) */
.vt-menu{list-style:none; margin:0; padding:0; display:flex; gap:2px; align-items:center}
.vt-menu--desktop{flex-wrap:nowrap; white-space:nowrap}
.vt-menu > li{position:relative}
.vt-menu > li > a{display:inline-flex; align-items:center; gap:6px; padding:10px 10px; font-size:14px; color:rgba(17,24,39,.82); font-weight:800; border-radius:12px}
.vt-menu > li:hover > a{color:rgba(17,24,39,.92); background:rgba(2,6,23,.04)}
.vt-menu li.menu-item-has-children > a:after{content:"▾"; font-size:11px; opacity:.7; margin-left:2px}
.vt-menu .sub-menu{list-style:none; margin:0; padding:8px; position:absolute; top:calc(100% + 8px); left:0; min-width:220px; display:none;
  background:#fff; border:1px solid var(--vt-border); border-radius:14px; box-shadow: 0 16px 40px rgba(2,6,23,.12); z-index:60}
.vt-menu .sub-menu li a{display:block; padding:10px 12px; font-size:13px; color:rgba(17,24,39,.92); border-radius:12px; background:transparent}
.vt-menu .sub-menu li a:hover{background:rgba(2,6,23,.04)}
.vt-menu > li:hover > .sub-menu,
.vt-menu > li.is-open > .sub-menu{display:block}

/* Mobile menu */
.vt-menu--mobile{display:block; gap:0}
.vt-menu--mobile > li{border-bottom:1px solid rgba(17,24,39,.08)}
.vt-menu--mobile > li > a{display:flex; justify-content:space-between; padding:14px 12px; color:#111827; font-weight:800}
.vt-menu--mobile .sub-menu{position:static; display:none; background:rgba(2,6,23,.03); border:0; box-shadow:none; padding:8px; margin:0 10px 10px; border-radius:12px}
.vt-menu--mobile .sub-menu a{color:#111827; padding:12px 12px}
.vt-menu--mobile li.is-open > .sub-menu{display:block}

/* Header */
.vt-header{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.97);
  border-bottom:1px solid var(--vt-border);
}
.vt-header.is-scrolled{box-shadow: 0 8px 30px rgba(2,6,23,.08);
}
/* allow disabling sticky from customizer */
.vt-header:not(.is-sticky){position:relative}

.vt-header__bar{display:flex; align-items:center; gap:14px; height:var(--vt-header-h,64px); padding:0 var(--vt-header-pad,16px)}
@media(max-width:520px){.vt-header__bar{height:var(--vt-header-hm,56px)}}
@media(max-width:520px){.vt-hotline{display:none}}

.vt-brand{display:flex; align-items:center; gap:10px; min-width:0}
.vt-brand__logo img{height:var(--vt-logo-h,26px); width:auto}
.vt-brand__text{display:flex; flex-direction:column; line-height:1.05}
.vt-brand__name{font-weight:800; letter-spacing:.2px; font-size:14px}
.vt-brand__tagline{font-size:12px; color:var(--vt-muted)}
.vt-nav{display:flex; align-items:center; gap:10px; flex:1; min-width:0; justify-content:flex-end}
.vt-nav--left{justify-content:flex-start}
.vt-nav--center{justify-content:center}
.vt-nav--right{justify-content:flex-end}
.vt-nav__menu{display:flex; align-items:center; min-width:0}
/* align control from PHP class vt-nav__menu--left/center/right */
.vt-nav__menu--left{justify-content:flex-start}
.vt-nav__menu--center{justify-content:center}
.vt-nav__menu--right{justify-content:flex-end}
/* avoid overriding submenu links */
.vt-nav__menu > .vt-menu > li > a{white-space:nowrap}
@media(max-width:980px){.vt-nav__menu{display:none;} .vt-burger{display:inline-flex;} }


/* (Dropdown rules merged above; keep section for readability) */
.vt-pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  box-shadow: var(--vt-shadow-soft);
  font-weight:700; font-size:13px;
}
.vt-pill--primary{
  border:0;
  background: linear-gradient(90deg, var(--vt-accent), var(--vt-accent-2));
  color:#ffffff;
}
.vt-hotline{display:inline-flex; color:rgba(17,24,39,.82); font-weight:700; font-size:13px; white-space:nowrap}
.vt-burger{display:none; width:42px; height:42px; border-radius:12px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06)}
.vt-burger span{display:block; width:18px; height:2px; margin:4px auto; background:rgba(17,24,39,.82); border-radius:2px}

.vt-iconbtn{width:42px; height:42px; border-radius:12px; border:1px solid var(--vt-border); background:#fff; display:inline-flex; align-items:center; justify-content:center}
.vt-iconbtn:hover{background:rgba(2,6,23,.04)}

/* Search overlay */
.vt-search{position:fixed; inset:0; z-index:65; display:none}
.vt-search.is-open{display:block}
.vt-search__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.45)}
.vt-search__panel{position:relative; margin:90px auto 0; width:min(92vw,820px); background:#fff; border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.25); padding:14px}
.vt-search__form{display:flex; gap:10px}
.vt-search__input{flex:1; height:46px; border-radius:14px; border:1px solid rgba(17,24,39,.12); padding:0 14px; font-size:15px}
.vt-search__input:focus{outline:none; border-color:rgba(59,130,246,.6); box-shadow:0 0 0 4px rgba(59,130,246,.12)}

/* Mobile drawer */
.vt-drawer{position:fixed; inset:0; z-index:60; display:none}
.vt-drawer.is-open{display:block}
.vt-drawer__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.5)}
.vt-drawer__panel{
  position:absolute; top:0; right:0; height:100%; width:min(88vw,360px);
  background: rgba(255,255,255,.98);
  border-left:1px solid rgba(255,255,255,.12);
  padding:14px;
}
.vt-drawer__top{display:flex; justify-content:space-between; align-items:center; gap:10px}
.vt-x{width:42px; height:42px; border-radius:12px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); color:#fff; font-weight:900}
.vt-drawer__menu a{display:block; padding:12px 10px; border-radius:12px}
.vt-drawer__menu a:hover{background:rgba(255,255,255,.06)}

/* Sections */
.vt-section{padding:var(--vt-section-pad-y) 0}
.vt-section--tight{padding:var(--vt-section-tight-y) 0}
.vt-h2{font-size:20px; letter-spacing:.6px; text-transform:uppercase; margin:0 0 8px}
.vt-sub{color:var(--vt-muted); margin:0 0 16px; max-width:780px}
.vt-card{
  background: var(--vt-surface);
  border:1px solid var(--vt-border);
  border-radius:var(--vt-radius);
  box-shadow: var(--vt-shadow-soft);
  padding: 18px;
}

.vt-card > *:first-child{margin-top:0}
.vt-card > *:last-child{margin-bottom:0}
.vt-card p{line-height:1.7; margin: 0 0 12px}
.vt-card p:last-child{margin-bottom:0}
.vt-card ul, .vt-card ol{margin: 0 0 12px; padding-left: 18px}
.vt-card li{line-height:1.7}


/* Hero */
.vt-hero{padding:0}
.vt-hero__wrap{
  width:100vw; margin-left:calc(50% - 50vw);
  background: linear-gradient(120deg, rgba(43,109,255,.45), rgba(0,212,255,.18)),
              radial-gradient(900px 600px at 80% 20%, rgba(255,255,255,.10), transparent 50%);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.vt-hero__inner{padding:28px 0}
.vt-hero__grid{display:grid; gap:16px; grid-template-columns: 1.25fr .75fr; align-items:stretch}
.vt-hero__copy{padding:22px; border-radius:22px; background: rgba(11,20,48,.35); border:1px solid rgba(255,255,255,.12)}
.vt-hero__kicker{color:rgba(234,240,255,.85); font-weight:800; letter-spacing:.6px; text-transform:uppercase; font-size:12px}
.vt-hero__title{font-size:30px; margin:10px 0 10px; line-height:1.15}
.vt-hero__desc{color:var(--vt-dark-muted); margin:0 0 16px; font-size:14px}
.vt-hero__ctas{display:flex; gap:10px; flex-wrap:wrap}
.vt-hero__media{border-radius:22px; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); aspect-ratio: var(--vt-hero-ar-desktop, 16 / 9)}
.vt-hero__media img{width:100%; height:100%; object-fit:var(--vt-hero-fit, contain);}
@media (max-width: 768px){.vt-hero__media{aspect-ratio: var(--vt-hero-ar-mobile, 4 / 3);}}


/* Packages (Block A) */
.vt-packages__grid{display:grid; gap:14px; grid-template-columns:repeat(3,1fr)}
.vt-pack{padding:16px; position:relative; overflow:hidden}
.vt-pack__badge{position:absolute; top:14px; right:14px; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:800;
  background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14)
}
.vt-pack.is-featured{border:1px solid rgba(0,212,255,.35); box-shadow: 0 16px 40px rgba(0,0,0,.28)}
.vt-pack__title{font-size:18px; margin:6px 0 4px; font-weight:900}
.vt-pack__sub{color:var(--vt-muted); font-size:13px; margin:0 0 10px}
.vt-pack__price{font-size:22px; font-weight:900; margin:0 0 12px}
.vt-pack__list{margin:0 0 14px; padding-left:18px; color:rgba(234,240,255,.88); font-size:13px}
.vt-pack__list li{margin:6px 0}
.vt-pack__cta{display:flex; gap:10px; flex-wrap:wrap}
/* Buttons (base) are defined later; dark sections override via .vt-on-dark */

/* Steps (Block C) */
.vt-steps{display:grid; gap:14px; grid-template-columns:repeat(3,1fr)}
.vt-step{padding:16px}
.vt-step__n{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); font-weight:900}
.vt-step__t{margin:10px 0 6px; font-weight:900}
.vt-step__d{margin:0; color:var(--vt-muted); font-size:13px}

/* Benefits (Block D) */
.vt-benefits{display:grid; gap:12px; grid-template-columns:repeat(3,1fr)}
.vt-benefit{padding:14px; display:flex; gap:12px; align-items:flex-start}
.vt-benefit__ic{width:42px;height:42px;border-radius:16px; display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); font-weight:900}
.vt-benefit__t{margin:2px 0 6px; font-weight:900}
.vt-benefit__d{margin:0; color:var(--vt-muted); font-size:13px}

/* Trust (Block E) */
/* Trust block removed (not needed) */

/* Tabs + carousel posts */
.vt-tabs{display:flex; gap:10px; align-items:center; margin-bottom:12px; flex-wrap:wrap}
.vt-tab{cursor:pointer}
.vt-tab[aria-selected="true"]{background:linear-gradient(90deg,var(--vt-accent),var(--vt-accent-2)); color:#05102a; border:0}
.vt-carousel{position:relative}
.vt-track{
  display:flex; gap:12px; overflow:auto; scroll-snap-type:x mandatory; padding-bottom:6px;
  -webkit-overflow-scrolling:touch;
}
.vt-track > .vt-carousel__item{flex:0 0 320px; scroll-snap-align:start}
@media(max-width:980px){.vt-track > .vt-carousel__item{flex-basis:300px}}
@media(max-width:640px){.vt-track > .vt-carousel__item{flex-basis:86vw}}
.vt-track::-webkit-scrollbar{height:8px}
.vt-track::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14); border-radius:999px}
.vt-post__inner{padding:12px}
.vt-post__thumb{border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06)}
.vt-post__thumb img{width:100%; aspect-ratio: 16/10; object-fit:cover}
.vt-post__t{margin:10px 0 6px; font-weight:900; font-size:14px; line-height:1.25}
.vt-post__m{margin:0; color:var(--vt-muted); font-size:12px}
.vt-navbtn{
  position:absolute; top:40%; transform:translateY(-50%);
  width:42px;height:42px;border-radius:14px; border:1px solid rgba(255,255,255,.16); background:rgba(11,20,48,.65);
  display:flex;align-items:center;justify-content:center; cursor:pointer;
}
.vt-navbtn:hover{background:rgba(11,20,48,.85)}
.vt-navbtn--prev{left:-6px}
.vt-navbtn--next{right:-6px}

/* FAQ */
.vt-faq{display:grid; gap:12px}
.vt-faq__item{padding:14px}
.vt-faq__q{margin:0; font-weight:900}
.vt-faq__a{margin:8px 0 0; color:var(--vt-muted); font-size:13px}

/* Blog archive + pagination */
.vt-pagination{display:flex; gap:8px; justify-content:center; margin-top:20px; flex-wrap:wrap}
.vt-pagination a, .vt-pagination span{padding:10px 12px; border-radius:14px; border:1px solid rgba(17,24,39,.10); background:#fff; text-decoration:none; color:rgba(17,24,39,.78)}
.vt-pagination a:hover{background:rgba(2,6,23,.04)}
.vt-pagination .current{background:rgba(2,6,23,.06)}

/* Sticky CTA */
.vt-sticky-cta{position:fixed; left:10px; right:10px; bottom:10px; z-index:70; display:none; transition: opacity .18s ease, transform .18s ease}
.vt-sticky-cta.is-hidden{opacity:0; transform: translateY(16px); pointer-events:none}
.vt-sticky-cta__bar{
  display:grid; grid-template-columns: 1fr 1fr; gap:10px;
  padding:10px; border-radius:18px;
  background: rgba(11,20,48,.88);
  border:1px solid rgba(255,255,255,.14);
  box-shadow: var(--vt-shadow);
  backdrop-filter: blur(10px);
}
.vt-sticky-cta a{height:46px; border-radius:14px; font-weight:900}
.vt-sticky-cta .vt-btn{width:100%}

@media (max-width: 980px){
  .vt-nav__menu{display:none}
  .vt-burger{display:block}
  .vt-hotline{display:inline-flex}
  .vt-hero__grid{grid-template-columns:1fr}
  .vt-packages__grid{grid-template-columns:1fr}
  .vt-steps{grid-template-columns:1fr}
  .vt-benefits{grid-template-columns:1fr}
  /* Trust block removed */
  
.vt-footer__brand img{height:var(--vt-footer-logo-h,24px) !important; width:auto; max-width:140px; object-fit:contain; display:block}
.vt-footer__grid{grid-template-columns:1fr 1fr}
    .vt-navbtn{display:none}
  .vt-sticky-cta{display:block}
}
@media (max-width: 520px){
  .vt-brand__text{display:none}
  .vt-footer__grid{grid-template-columns:1fr}
  }


/* ===== Classic Home (match existing site) ===== */

.vt-hero-slider{position:relative; width:100%; overflow:hidden; background:transparent;}
.vt-hero-slider__viewport{position:relative; height:auto;}
.vt-hero-slide{position:absolute; inset:0; opacity:0; transform:translateX(18px); transition:opacity .5s ease, transform .85s cubic-bezier(.2,.9,.2,1); will-change:opacity,transform;}
.vt-hero-slide.is-active{opacity:1; transform:translateX(0);}
.vt-hero-slide img{width:100%; height:100%; object-fit:var(--vt-hero-fit, cover); background:transparent;}
.vt-hero-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:32px; height:32px; border-radius:999px;
  border:0;
  background:rgba(0,0,0,.22);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:26px; cursor:pointer;
  opacity:.14;
  transition:opacity .18s ease, transform .18s ease, background .18s ease;
}
.vt-hero-slider:hover .vt-hero-nav,
.vt-hero-nav:focus,
.vt-hero-nav:focus-visible{
  opacity:.88;
  background:rgba(0,0,0,.34);
}
@media (max-width: 767px){
  .vt-hero-nav{ opacity:.38; }
}
.vt-hero-nav--prev{left:14px;}
.vt-hero-nav--next{right:14px;}
.vt-hero-dots{display:none !important;}
/* Quick actions (Home) */
.vt-quick{padding:var(--vt-section-tight-y) 0 calc(var(--vt-section-tight-y) - 8px);}
.vt-quick__grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
.vt-quick__item{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 14px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--vt-border);
  border-radius:14px;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  text-decoration:none;
  color:#0f172a;
  min-height:48px;
}
.vt-quick__item:hover{transform:translateY(-1px); box-shadow:0 14px 26px rgba(15,23,42,.10); border-color:rgba(37,99,235,.22);}
.vt-quick__item:active{transform:translateY(0);}
.vt-quick__item:focus-visible{outline:3px solid rgba(37,99,235,.28); outline-offset:2px;}

.vt-quick__icon{
  width:34px; height:34px; border-radius:10px;
  background:#fff; border:1px solid var(--vt-border);
  display:flex; align-items:center; justify-content:center;
  font-size:18px;
}
.vt-quick__text{font-weight:800; font-size:13px; letter-spacing:.1px;}

.vt-section--classic{padding:var(--vt-section-tight-y) 0 calc(var(--vt-section-tight-y) + 6px);}
.vt-home-news__head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px;}
@media(max-width:640px){.vt-home-news__head{flex-direction:column; align-items:flex-start}}
.vt-h2--center{text-align:center;}
.vt-service-banner{display:block; border-radius:12px; overflow:hidden; box-shadow: var(--vt-shadow);}
.vt-service-banner img{width:100%; height:auto; display:block;}

.vt-tabs-title{display:flex; flex-direction:column; align-items:center; gap:10px; margin-bottom:10px;}
.vt-postgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:14px;}
@media(max-width:980px){.vt-postgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.vt-postgrid{grid-template-columns:1fr;}}
.vt-post.vt-card{background:#fff; border:1px solid var(--vt-border); border-radius:12px; overflow:hidden; box-shadow: var(--vt-shadow-soft);}
.vt-post__thumb img{width:100%; height:160px; object-fit:cover;}
.vt-thumb-ph{width:100%; height:160px; background:linear-gradient(135deg, rgba(2,6,23,.06), rgba(59,130,246,.10));}
@media(max-width:520px){.vt-thumb-ph{height:150px;}}
.vt-post__body{padding:12px 12px 14px;}
.vt-post__t{margin:0 0 6px; font-size:14px; line-height:1.35;}
.vt-post__t a{color:#111827;}
.vt-post__m{margin:0 0 8px; font-size:12px; color:rgba(17,24,39,.55);}
.vt-post__e{margin:0; font-size:13px; color:rgba(17,24,39,.70); line-height:1.45;}
.vt-more{margin-top:12px; text-align:center;}
.vt-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 14px; border-radius:12px; border:1px solid var(--vt-border-strong); background:var(--vt-surface); color:var(--vt-text); font-weight:800; font-size:13px; box-shadow: var(--vt-shadow-soft); transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;}
.vt-btn:hover{background:var(--vt-surface-2);}
.vt-btn:active{transform:translateY(1px); box-shadow: 0 4px 10px rgba(17,24,39,.10);}
.vt-btn[disabled], .vt-btn.is-disabled{opacity:.6; pointer-events:none;}

.vt-btn--primary{border:0; background:linear-gradient(90deg, var(--vt-accent), var(--vt-accent-2)); color:#03122b;}

@media (max-width: 980px){.vt-postgrid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 520px){.vt-quick__grid{grid-template-columns:1fr; gap:10px;}
  .vt-post__thumb img{height:150px;}
}

/* Single post */
.vt-content{background:#fff; padding:22px 0 36px;}
.vt-articlewrap{display:grid; grid-template-columns: 1.65fr .85fr; gap:22px; align-items:start}
@media(max-width:980px){.vt-articlewrap{grid-template-columns:1fr;}}

.vt-prose{color:#111827;}
.vt-prose .vt-article__title{font-size:30px; line-height:1.2; margin:0 0 10px; letter-spacing:-.2px}
@media(max-width:520px){.vt-prose .vt-article__title{font-size:26px}}
.vt-prose h2{font-size:22px; margin:22px 0 10px}
.vt-prose h3{font-size:18px; margin:18px 0 8px}
.vt-prose p{line-height:1.78; color:rgba(17,24,39,.82); font-size:16px; text-align:justify; text-justify:inter-word; word-spacing:normal;}
.vt-prose ul,.vt-prose ol{line-height:1.8; text-align:justify; text-justify:inter-word; word-spacing:normal;}
.vt-prose a{color:var(--vt-accent); text-decoration:underline; text-underline-offset:3px}
.vt-prose img{border-radius:14px}

.vt-breadcrumb{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px; color:rgba(17,24,39,.55); margin:0 0 12px}
.vt-breadcrumb a{color:rgba(17,24,39,.72); text-decoration:none}
.vt-breadcrumb a:hover{text-decoration:underline}
.vt-breadcrumb__current{color:rgba(17,24,39,.55)}

.vt-article{background:#fff}
.vt-article__meta{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:rgba(17,24,39,.55); margin:0 0 14px}
.vt-article__thumb{border-radius:16px; overflow:hidden; box-shadow: var(--vt-shadow-soft); margin:0 0 18px; border:1px solid rgba(17,24,39,.06)}

.vt-article__footer{display:flex; justify-content:space-between; align-items:center; gap:12px; margin:22px 0 0; padding-top:16px; border-top:1px solid rgba(17,24,39,.08); flex-wrap:wrap}
.vt-tags{font-size:13px; color:rgba(17,24,39,.6)}
.vt-tags a{display:inline-flex; padding:6px 10px; border-radius:999px; border:1px solid rgba(17,24,39,.10); text-decoration:none; color:rgba(17,24,39,.75); margin-left:6px}
.vt-tags a:hover{background:rgba(2,6,23,.04)}

.vt-share{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.vt-share__label{font-size:13px; color:rgba(17,24,39,.55)}
.vt-share__btn{display:inline-flex; padding:7px 10px; border-radius:12px; border:1px solid rgba(17,24,39,.10); text-decoration:none; color:rgba(17,24,39,.75); font-size:13px}
.vt-share__btn:hover{background:rgba(2,6,23,.04)}

.vt-postnav{display:flex; justify-content:space-between; gap:12px; margin-top:18px}
.vt-postnav a{display:block; padding:10px 12px; border-radius:14px; border:1px solid rgba(17,24,39,.10); text-decoration:none; color:rgba(17,24,39,.8); background:#fff}
.vt-postnav a:hover{background:rgba(2,6,23,.04)}

.vt-sidebar__card{padding:14px}
.vt-sidebar__title{font-weight:900; font-size:14px; margin:0 0 10px}
.vt-sideitem{display:block; padding:10px 10px; border-radius:12px; text-decoration:none; color:rgba(17,24,39,.8); border:1px solid rgba(17,24,39,.06); background:rgba(2,6,23,.02); margin-bottom:10px}
.vt-sideitem:hover{background:rgba(2,6,23,.04)}

.vt-related{margin-top:26px}
.vt-related__title{margin:0 0 10px; font-size:18px; font-weight:900}

/* Footer (classic blue) */
.vt-footer{background:linear-gradient(180deg,#255aa0 0%, #1e4c8b 45%, #173b6e 100%); color:#fff; padding:22px 0 14px; margin-top:26px;}
.vt-footer a{color:#fff; opacity:.92;}
.vt-footer a:hover{opacity:1;}
.vt-footer .widget{margin:0;}
.vt-footer ul{list-style:none; padding:0; margin:0;}
.vt-footer li{margin:0 0 8px;}
.vt-footer .widget-title{margin:0 0 10px; font-size:14px; font-weight:900; letter-spacing:.2px;}
.vt-footer__bottom a{opacity:.95;}

.vt-footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:18px; align-items:start;}
.vt-footer__title{margin:0 0 10px; font-size:18px; font-weight:900;}
.vt-footer__meta{margin:0 0 10px; font-size:13px; opacity:.92; line-height:1.5;}
.vt-footer__bottom{margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.20); display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:12px; opacity:.95;}
@media (max-width: 980px){.vt-footer__grid{grid-template-columns:1fr 1fr;}}
@media (max-width: 520px){.vt-footer__grid{grid-template-columns:1fr;}}

.vt-carousel .vt-post{min-width: calc((100% - 36px)/4); scroll-snap-align:start}
@media(max-width:980px){.vt-carousel .vt-post{min-width: calc((100% - 18px)/2);}}
@media(max-width:640px){.vt-carousel .vt-post{min-width: 82%;}}

.vt-hero-link{display:block; width:100%; height:100%}
.vt-hero-link img{display:block; width:100%; height:100%; object-fit:cover}


/* ===== v2.0.6 Enhancements: Topbar, Smart Sticky, Blog Pills, Related Carousel ===== */
.vt-topbar{font-size:13px; line-height:1.2; background:#f7f8fa; border-bottom:1px solid rgba(0,0,0,.06)}
.vt-topbar__inner{max-width:1160px; margin:0 auto; padding:8px var(--vt-header-pad-x,14px); display:flex; align-items:center; justify-content:space-between; gap:12px}
.vt-topbar__left,.vt-topbar__right{display:flex; align-items:center; gap:10px}
.vt-topbar a{color:inherit; text-decoration:none}
.vt-topbar a:hover{text-decoration:underline}
.vt-topbar.is-hide-mobile{display:block}
@media (max-width:980px){.vt-topbar.is-hide-mobile{display:none}}

.vt-header{position:sticky; top:0; z-index:999; transform:translateY(0); transition:transform .18s ease, box-shadow .18s ease}
.vt-header.is-hidden{transform:translateY(-110%)}
.vt-header.is-scrolled{box-shadow:0 8px 30px rgba(0,0,0,.08)}

/* Dropdown: closer to Flatsome */
.vt-menu--desktop{display:flex; gap:18px; align-items:center}
.vt-menu--desktop > li{position:relative}
.vt-menu--desktop > li > a{display:inline-flex; align-items:center; gap:6px; padding:10px 2px; font-weight:600}
.vt-menu--desktop li.menu-item-has-children > a:after{content:'▾'; font-size:11px; opacity:.7}
.vt-menu--desktop li .sub-menu{position:absolute; left:0; top:100%; min-width:220px; background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:8px; box-shadow:0 18px 50px rgba(0,0,0,.14); opacity:0; transform:translateY(8px); pointer-events:none; transition:.15s ease}
.vt-menu--desktop li:hover > .sub-menu{opacity:1; transform:translateY(0); pointer-events:auto}
.vt-menu--desktop li .sub-menu li a{display:block; padding:10px 10px; border-radius:10px; font-weight:600}
.vt-menu--desktop li .sub-menu li a:hover{background:#f3f6ff}

/* Blog category pills */
.vt-pills{display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 14px}
.vt-pill{display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border-radius:999px; border:1px solid rgba(0,0,0,.10); background:#fff; color:#1b1f2a; text-decoration:none; font-weight:700; font-size:13px}
.vt-pill:hover{box-shadow:0 10px 22px rgba(0,0,0,.08)}
.vt-pill.is-active{background:#1f5eff; border-color:#1f5eff; color:#fff}

/* Post cards a bit more modern */
.vt-postgrid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px}
@media (max-width:980px){.vt-postgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.vt-postgrid{grid-template-columns:1fr; gap:14px}}
.vt-post.vt-card{border-radius:18px; overflow:hidden}
.vt-post__thumb img{width:100%; height:180px; object-fit:cover}
@media (max-width:600px){.vt-post__thumb img{height:200px}}
.vt-post__t a{text-decoration:none}
.vt-post__t a:hover{text-decoration:underline}

/* Related posts carousel option */
.vt-related__carousel{position:relative}
.vt-related__track{display:flex; gap:14px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch}
.vt-related__track::-webkit-scrollbar{height:8px}
.vt-related__track::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15); border-radius:999px}
.vt-related__item{flex:0 0 320px; scroll-snap-align:start}
@media (max-width:600px){.vt-related__item{flex-basis:82vw}}

/* Ensure touch-open dropdown works even with older dropdown blocks */
.vt-menu--desktop > li.is-open > .sub-menu{
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
  display:block !important;
}

/* Drawer menu should be dark text on light panel */
.vt-drawer .vt-menu--mobile > li > a,
.vt-drawer .vt-menu--mobile .sub-menu a{color:#111827}
.vt-drawer .vt-menu--mobile .sub-menu{background:rgba(2,6,23,.03)}


/* ===== v2.0.7 refinements ===== */
.vt-panel{
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  border:1px solid rgba(15,23,42,.06);
}

/* ===== v2.4.4 UI polish: Service landing + Service detail + Hub ===== */

/* Button variants used by service pages */
.vt-btn--block{width:100%}
.vt-btn--ghost{
  background:#fff;
  border:1px solid rgba(17,24,39,.14);
  color:#0f172a;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}
.vt-btn--ghost:hover{background:rgba(2,6,23,.03)}
.vt-btn--link{
  border:0;
  background:transparent;
  box-shadow:none;
  padding-left:0;
  padding-right:0;
  color:var(--vt-accent);
}
.vt-btn--link:hover{text-decoration:underline}

/* Service landing (vt_render_landing) */
.vt-landing-hero{
  background: radial-gradient(1100px 520px at 80% -20%, rgba(2,124,237,.18), transparent 60%),
              linear-gradient(180deg, rgba(2,124,237,.08), rgba(255,255,255,0));
  border-bottom:1px solid rgba(17,24,39,.08);
}
.vt-landing-hero__inner{display:grid; gap:18px; grid-template-columns: 1.2fr .8fr; align-items:center; padding:28px 0;}
.vt-landing-hero__copy{
  background:#fff;
  border:1px solid var(--vt-border);
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.vt-landing-hero__title{margin:0 0 8px; font-size:32px; letter-spacing:-.2px; line-height:1.15}
.vt-landing-hero__sub{margin:0 0 14px; color:rgba(17,24,39,.70); line-height:1.6}
.vt-landing-hero__cta{display:flex; gap:10px; flex-wrap:wrap}
.vt-landing-hero__media{
  background:#fff;
  border:1px solid var(--vt-border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
  min-height:240px;
}
.vt-landing-hero__media img{width:100%; height:100%; object-fit:cover;}
@media (max-width: 980px){
  .vt-landing-hero__inner{grid-template-columns:1fr; padding:20px 0;}
  .vt-landing-hero__media{min-height:200px}
}

.vt-landing-packages{padding:22px 0 10px;}
.vt-section-title{margin:0 0 12px; font-size:18px; font-weight:900; letter-spacing:.2px}
.vt-grid{display:grid; gap:16px}
.vt-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width: 980px){.vt-grid--3{grid-template-columns:1fr;}}

.vt-card--pkg{
  background:#fff;
  border:1px solid var(--vt-border);
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
  position:relative;
}
.vt-badge{
  position:absolute;
  top:14px;
  right:14px;
  background:rgba(2,124,237,.10);
  color:var(--vt-brand-back, #027ced);
  border:1px solid rgba(2,124,237,.18);
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.vt-card__title{margin:0 0 8px; font-size:16px; font-weight:900; color:#0f172a}
.vt-card__price{font-size:22px; font-weight:900; margin:0 0 10px; color:#0f172a}
.vt-card__list{margin:0 0 14px; padding-left:18px; color:rgba(17,24,39,.78); line-height:1.65}
.vt-card__list li{margin:6px 0}


/* TV landing side cards (v2.5.7) */
.vt-hero-svg{width:100%; height:auto; display:block}
.vt-landing-side{display:grid; gap:14px}
.vt-side-card{
  background:#fff;
  border:1px solid var(--vt-border);
  border-radius:18px;
  padding:14px;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}
.vt-side-card__title{font-weight:900; color:#0f172a; margin:0 0 10px; font-size:14px}
.vt-side-card__note{margin:10px 0 12px; color:rgba(17,24,39,.74); line-height:1.6; font-size:13px}
.vt-chip-grid{display:flex; flex-wrap:wrap; gap:8px}
.vt-chip{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(17,24,39,.10);
  background:rgba(2,124,237,.08);
  color:rgba(17,24,39,.86);
}
.vt-mini-posts{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.vt-mini-posts li a{
  display:block;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid var(--vt-border);
  background:rgba(255,255,255,.7);
  color:#0f172a;
  font-weight:800;
  line-height:1.4;
}
.vt-mini-posts li a:hover{border-color:rgba(2,124,237,.35); box-shadow:0 10px 22px rgba(15,23,42,.06)}
.vt-landing-content{padding:12px 0 34px}
.vt-landing-content__inner{display:grid; grid-template-columns: 1.6fr .8fr; gap:22px; align-items:start}
@media (max-width: 980px){.vt-landing-content__inner{grid-template-columns:1fr}}

/* FAQ used by landing */
.vt-faq__list{display:grid; gap:12px}
.vt-faq__item{
  background:#fff;
  border:1px solid var(--vt-border);
  border-radius:16px;
  padding:12px 14px;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}
.vt-faq__item summary{cursor:pointer; font-weight:900; color:#0f172a; outline:none}
.vt-faq__answer{padding-top:10px; color:rgba(17,24,39,.78)}
.vt-cta-bottom{margin-top:14px; display:flex; justify-content:center}

/* Service single (single-vtsv_service) */
.vt-breadcrumbs{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px; color:rgba(17,24,39,.55); margin:0 0 10px}
.vt-breadcrumbs a{color:rgba(17,24,39,.72)}
.vt-breadcrumbs a:hover{text-decoration:underline}
.vt-bc-sep{opacity:.65}

.vt-service-hero{
  background: radial-gradient(1100px 520px at 85% -20%, rgba(37,99,235,.18), transparent 60%),
              linear-gradient(180deg, rgba(37,99,235,.08), rgba(255,255,255,0));
  border-bottom:1px solid rgba(17,24,39,.08);
}
.vt-service-hero__inner{display:grid; gap:18px; grid-template-columns: 1.2fr .8fr; align-items:center; padding:26px 0}
.vt-service-hero__copy{
  background:#fff;
  border:1px solid var(--vt-border);
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.vt-service-hero__title{margin:0 0 8px; font-size:30px; letter-spacing:-.2px; line-height:1.15}
.vt-service-hero__sub{margin:0 0 14px; color:rgba(17,24,39,.70); line-height:1.6}
.vt-service-hero__cta{display:flex; gap:10px; flex-wrap:wrap}
.vt-service-hero__thumb{border-radius:18px; overflow:hidden; border:1px solid var(--vt-border); box-shadow:0 12px 28px rgba(15,23,42,.06); background:#fff}
.vt-service-hero__thumb img{width:100%; height:auto; display:block}

.vt-service-layout{display:grid; grid-template-columns: 1.6fr .8fr; gap:22px; padding:22px 0 36px}
@media (max-width: 980px){.vt-service-hero__inner,.vt-service-layout{grid-template-columns:1fr}}

.vt-service-aside__card{background:#fff; border:1px solid var(--vt-border); border-radius:18px; padding:14px; box-shadow:0 12px 28px rgba(15,23,42,.06)}
.vt-service-aside__title{font-weight:900; font-size:14px; margin:0 0 8px; color:#0f172a}
.vt-service-aside__desc{margin:0 0 12px; color:rgba(17,24,39,.70); line-height:1.6; font-size:13px}

/* Hub page (template-products-services.php) */
.vt-hub-hero{
  padding:26px 0;
  background: radial-gradient(1100px 520px at 85% -20%, rgba(37,99,235,.18), transparent 60%),
              linear-gradient(180deg, rgba(37,99,235,.08), rgba(255,255,255,0));
  border-bottom:1px solid rgba(17,24,39,.08);
}
.vt-hub-hero__grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:center}
.vt-hub-hero__copy{background:#fff; border:1px solid var(--vt-border); border-radius:18px; padding:18px; box-shadow:0 12px 28px rgba(15,23,42,.06)}
.vt-hub-hero__title{margin:0 0 8px; font-size:32px; line-height:1.15; letter-spacing:-.2px}
.vt-hub-hero__subtitle{margin:0 0 14px; color:rgba(17,24,39,.70); line-height:1.6}
.vt-hub-hero__cta{display:flex; gap:10px; flex-wrap:wrap}
.vt-hub-hero__chips{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px}
.vt-chip{display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(2,6,23,.04); border:1px solid var(--vt-border); font-weight:800; font-size:12px; color:#0f172a}

.vt-hub-hero__media{position:relative; min-height:240px}
.vt-hub-hero__blob{position:absolute; inset:12px; border-radius:22px; background:radial-gradient(circle at 30% 20%, rgba(34,195,255,.35), transparent 60%), radial-gradient(circle at 80% 70%, rgba(37,99,235,.28), transparent 60%); filter: blur(2px)}
.vt-hub-hero__card{position:relative; margin-left:auto; width:min(100%, 380px); background:#fff; border:1px solid var(--vt-border); border-radius:18px; padding:14px; box-shadow:0 12px 28px rgba(15,23,42,.06)}
.vt-hub-hero__kpi{display:flex; justify-content:space-between; align-items:center; padding:10px 10px; border-radius:14px; background:rgba(2,6,23,.02); border:1px solid rgba(17,24,39,.06); margin-bottom:10px}
.vt-hub-hero__kpiLabel{font-size:12px; font-weight:800; color:rgba(17,24,39,.60)}
.vt-hub-hero__kpiValue{font-size:18px; font-weight:900; color:#0f172a}
.vt-hub-hero__hint{font-size:13px; color:rgba(17,24,39,.70); line-height:1.55}
@media (max-width: 980px){.vt-hub-hero__grid{grid-template-columns:1fr}.vt-hub-hero__media{min-height:180px}}

.vt-hub-section{padding:22px 0}
.vt-hub-section--muted{background:rgba(2,6,23,.02); border-top:1px solid rgba(17,24,39,.06); border-bottom:1px solid rgba(17,24,39,.06)}
.vt-hub-section__head{max-width:760px; margin:0 0 12px}
.vt-hub-section__title{margin:0 0 6px; font-size:18px; font-weight:900}
.vt-hub-section__desc{margin:0; color:rgba(17,24,39,.70); line-height:1.6}

.vt-hub-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:14px}
@media (max-width:980px){.vt-hub-cards{grid-template-columns:1fr}}

.vt-card--service{background:#fff; border:1px solid var(--vt-border); border-radius:18px; padding:16px; box-shadow:0 12px 28px rgba(15,23,42,.06)}
.vt-card__top{display:flex; gap:12px; align-items:flex-start}
.vt-card__icon{width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(2,124,237,.10); border:1px solid rgba(2,124,237,.16); font-size:18px}
.vt-card__meta{min-width:0}
.vt-card--service .vt-card__title{font-size:16px}
.vt-card__sub{font-size:13px; color:rgba(17,24,39,.65); margin-top:2px}
.vt-card__bullets{margin:12px 0 14px; padding-left:18px; color:rgba(17,24,39,.78); line-height:1.65}
.vt-card__actions{display:flex; gap:12px; align-items:center; flex-wrap:wrap}

.vt-hub-split{display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:start}
@media (max-width:980px){.vt-hub-split{grid-template-columns:1fr}}
.vt-card--mini{background:#fff; border:1px solid var(--vt-border); border-radius:18px; padding:14px; box-shadow:0 12px 28px rgba(15,23,42,.06)}
.vt-miniRow{display:flex; justify-content:space-between; align-items:center; padding:10px 10px; border-radius:14px; background:rgba(2,6,23,.02); border:1px solid rgba(17,24,39,.06); margin-bottom:10px}
.vt-miniRow__k{font-weight:900; font-size:13px; color:#0f172a}
.vt-miniRow__v a{color:var(--vt-accent); text-decoration:none}
.vt-miniRow__v a:hover{text-decoration:underline}

.vt-hub-why{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px}
@media (max-width:980px){.vt-hub-why{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.vt-hub-why{grid-template-columns:1fr}}
.vt-card--why{background:#fff; border:1px solid var(--vt-border); border-radius:18px; padding:14px; box-shadow:0 10px 22px rgba(15,23,42,.05); display:flex; gap:10px; align-items:flex-start}
.vt-why__icon{width:34px; height:34px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.18)}
.vt-why__text{color:rgba(17,24,39,.78); line-height:1.6; font-weight:700}

.vt-hub-ctaBottom{margin-top:18px; background:#fff; border:1px solid var(--vt-border); border-radius:18px; padding:16px; box-shadow:0 12px 28px rgba(15,23,42,.06); display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap}
.vt-hub-ctaBottom__title{margin:0 0 6px; font-size:16px; font-weight:900}
.vt-hub-ctaBottom__desc{margin:0; color:rgba(17,24,39,.70); line-height:1.6}
.vt-panel--pad{ padding:18px; }
@media(max-width:768px){
  .vt-panel--pad{ padding:14px; border-radius:14px; }
}

/* Home clusters (rounded groups like v1.3.6) */
.vt-section--classic .vt-container > .vt-panel{ margin-top:14px; }
.vt-section--tight .vt-container > .vt-panel{ margin-top:12px; }

/* Header: keep a single horizontal row (v1.3-like) */
.vt-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.vt-brand{ flex:0 0 auto; }
.vt-nav{ flex:1 1 auto; display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.vt-nav__menu{ display:flex; align-items:center; justify-content:flex-end; }
.vt-menu--desktop{ display:flex; align-items:center; gap:10px; flex-wrap:nowrap; }
.vt-menu--desktop > li{ position:relative; }
.vt-menu--desktop > li > a{ padding:10px 12px; border-radius:12px; }
.vt-menu--desktop > li:hover > a{ background:rgba(15,23,42,.05); }

/* Dropdown */
.vt-menu--desktop .sub-menu{
  position:absolute; top:calc(100% + 8px); left:0;
  min-width:220px; padding:10px;
  background:#fff; border-radius:14px;
  box-shadow:0 18px 50px rgba(15,23,42,.14);
  border:1px solid rgba(15,23,42,.08);
  opacity:0; transform:translateY(6px);
  pointer-events:none;
}
.vt-menu--desktop li:hover > .sub-menu{ opacity:1; transform:translateY(0); pointer-events:auto; }
.vt-menu--desktop .sub-menu a{ display:block; padding:10px 10px; border-radius:12px; }
.vt-menu--desktop .sub-menu a:hover{ background:rgba(15,23,42,.05); }

/* Blog grid modern */
.vt-postgrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
@media(max-width:1024px){ .vt-postgrid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media(max-width:640px){ .vt-postgrid{ grid-template-columns:1fr; gap:14px; } }

.vt-card{
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  transition:transform .15s ease, box-shadow .15s ease;
}
.vt-card:hover{ transform:translateY(-2px); box-shadow:0 16px 44px rgba(15,23,42,.12); }
.vt-card__thumb{ aspect-ratio:16/9; background:#f3f4f6; overflow:hidden; }
.vt-card__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.vt-card__body{ padding:14px 14px 16px; }
.vt-card__title{ font-size:16px; line-height:1.35; margin:6px 0 8px; }
.vt-card__meta{ font-size:12px; opacity:.75; }
.vt-card__excerpt{ font-size:14px; opacity:.82; line-height:1.5; }

/* Tabs container as rounded cluster */
.vt-tabs{ margin-top:12px; }
.vt-tabs .vt-panel{ padding:18px; }

/* Service cards */
.vt-servicegrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
@media(max-width:1024px){ .vt-servicegrid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px){ .vt-servicegrid{ grid-template-columns:1fr; } }
.vt-servicecard{ display:block; padding:16px; border-radius:16px; border:1px solid rgba(15,23,42,.08);
  background:linear-gradient(135deg, rgba(14,116,144,.06), rgba(30,64,175,.06)); 
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.vt-servicecard:hover{ transform:translateY(-2px); box-shadow:0 16px 44px rgba(15,23,42,.12); background:linear-gradient(135deg, rgba(14,116,144,.10), rgba(30,64,175,.10)); }
.vt-servicecard__title{ font-weight:800; font-size:16px; margin-bottom:6px; }
.vt-servicecard__desc{ font-size:14px; opacity:.82; line-height:1.5; margin-bottom:10px; }
.vt-servicecard__cta{ font-size:13px; font-weight:700; opacity:.9; }


/* ================================
   v2.0.9 – Header Builder v2 + Tabs polish + Blog single polish
   ================================ */

/* Header Builder v2: split menu + actions */
.vt-header.has-shrink{transition: box-shadow .18s ease, background .18s ease, border-color .18s ease;}
.vt-header.has-shrink .vt-header__bar{transition: height .18s ease, padding .18s ease;}
.vt-header.has-shrink .vt-brand__logo img{transition: height .18s ease, transform .18s ease;}
.vt-header.has-shrink .vt-btn,.vt-header.has-shrink .vt-hotline{transition: transform .18s ease, opacity .18s ease;}

.vt-header.is-shrink .vt-header__bar{height:calc(var(--vt-header-h,64px) - 10px)}
@media(max-width:520px){.vt-header.is-shrink .vt-header__bar{height:calc(var(--vt-header-hm,56px) - 6px)}}
.vt-header.is-shrink .vt-brand__logo img{height:calc(var(--vt-logo-h,26px) - 3px)}
.vt-header.is-shrink .vt-btn.vt-btn--sm{transform:translateY(-1px) scale(.98)}
.vt-header.is-shrink .vt-hotline{transform:translateY(-1px) scale(.98); opacity:.95}

.vt-nav{display:flex; align-items:center; gap:14px; flex:1; min-width:0;}
.vt-nav__center{flex:1; min-width:0; display:flex; justify-content:center;}
.vt-nav__actions{display:flex; align-items:center; gap:10px; flex-wrap:nowrap;}
.vt-nav__menu{display:flex; align-items:center; min-width:0;}
.vt-nav__menu .vt-menu{display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:0; padding:0; list-style:none;}
.vt-nav__menu .vt-menu a{display:inline-block; padding:10px 8px; border-radius:12px; text-decoration:none;}
.vt-nav__menu .vt-menu a:hover{background:rgba(17,24,39,.06)}

/* Menu alignment (applies to center area only) */
.vt-nav__menu--left{justify-content:flex-start}
.vt-nav__menu--center{justify-content:center}
.vt-nav__menu--right{justify-content:flex-end}

/* Presets */
.vt-header--compact .vt-nav__center{justify-content:flex-end;}
.vt-header--compact .vt-nav__menu .vt-menu{gap:12px}

.vt-header--flatsome .vt-nav__center{justify-content:center;}

.vt-header--center .vt-header__bar{position:relative}
.vt-header--center .vt-brand{position:absolute; left:50%; transform:translateX(-50%); z-index:2;}
.vt-header--center .vt-nav{justify-content:space-between}
.vt-header--center .vt-nav__center{justify-content:center; padding-left:0}

/* Keep burger visible; hide desktop menu on small screens */
@media(max-width:880px){
  .vt-nav__menu .vt-menu{display:none}
  .vt-nav__center{justify-content:flex-start}
}

/* Tabs: pill group looks like a single rounded “cluster” */
.vt-tabs-title{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px;}
@media(max-width:720px){.vt-tabs-title{flex-direction:column; align-items:flex-start}}
.vt-tabs{
  background:rgba(17,24,39,.06);
  border:1px solid var(--vt-border);
  padding:6px;
  border-radius:999px;
  gap:6px;
  margin-bottom:0;
}
.vt-tabs .vt-pill{
  border-radius:999px;
  padding:10px 14px;
  border:0;
  background:transparent;
}
.vt-tabs .vt-tab[aria-selected="true"]{
  box-shadow:0 10px 24px rgba(2,6,23,.10);
}
@media(max-width:520px){
  .vt-tabs{width:100%; justify-content:flex-start}
  .vt-tabs .vt-pill{padding:9px 12px}
}

/* Blog single polish */
.vt-prose p{font-size:16.5px; line-height:1.85; color:rgba(17,24,39,.84)}
.vt-prose h2{font-size:22px; margin:26px 0 12px}
.vt-prose h3{font-size:18px; margin:20px 0 10px}
.vt-prose blockquote{
  margin:18px 0;
  padding:14px 16px;
  border-left:4px solid rgba(17,24,39,.18);
  background:rgba(17,24,39,.04);
  border-radius:14px;
}
.vt-prose code{background:rgba(17,24,39,.06); padding:2px 6px; border-radius:8px}
.vt-prose img{border-radius:16px}

/* Related posts: nicer spacing + hover */
.vt-related{margin-top:30px}
.vt-related__title{font-size:19px; font-weight:900}
.vt-related__item .vt-post{transition: transform .16s ease, box-shadow .16s ease;}
.vt-related__item .vt-post:hover{transform:translateY(-2px); box-shadow:0 18px 40px rgba(2,6,23,.10)}
.vt-related__item{flex:0 0 340px}
@media(max-width:680px){.vt-related__item{flex:0 0 84%}}

@media

/* Home tabs compact pill-group */
[data-vt-tabs] .vt-tabs{display:inline-flex; gap:6px; padding:6px; border-radius:999px; background:rgba(17,24,39,.06); border:1px solid var(--vt-border); box-shadow: var(--vt-shadow-soft); margin:10px auto 14px;}
[data-vt-tabs] .vt-tabs .vt-pill{padding:8px 12px; border-radius:999px; font-size:13px; line-height:1; box-shadow:none; border-color:transparent; background:transparent;}
[data-vt-tabs] .vt-tabs .vt-pill:hover{background:rgba(2,6,23,.06); box-shadow:none;}
[data-vt-tabs] .vt-tab[aria-selected="true"]{background:linear-gradient(90deg,var(--vt-accent),var(--vt-accent-2)); color:#05102a; border:0;}
/* Carousel item responsive sizing: nicer across devices */
.vt-track > .vt-carousel__item{flex:0 0 clamp(240px, 30vw, 340px);}
@media(max-width:980px){.vt-track > .vt-carousel__item{flex-basis:clamp(240px, 42vw, 320px)}}
@media(max-width:640px){.vt-track > .vt-carousel__item{flex-basis:84vw}}

/* Mega menu (lightweight) - add CSS class 'vt-mega' to top menu item */
.vt-menu--desktop > li{position:relative}
.vt-menu--desktop > li.vt-mega > .sub-menu{
  left:50%; transform:translateX(-50%);
  width:min(980px, calc(100vw - 32px));
  padding:14px; border-radius:18px;
  display:none;
  grid-template-columns:repeat(4, minmax(160px,1fr));
  gap:10px;
}
.vt-menu--desktop > li.vt-mega:hover > .sub-menu,
.vt-menu--desktop > li.vt-mega.is-open > .sub-menu{display:grid;}
.vt-menu--desktop > li.vt-mega > .sub-menu > li > a{
  font-weight:900; background:rgba(2,6,23,.03);
}
.vt-menu--desktop > li.vt-mega > .sub-menu > li > .sub-menu{
  position:static; display:block; border:0; box-shadow:none; padding:8px 0 0; margin:0;
  background:transparent;
}
.vt-menu--desktop > li.vt-mega > .sub-menu > li > .sub-menu a{padding:8px 10px; border-radius:12px;}
@media(max-width:980px){
  .vt-menu--desktop > li.vt-mega > .sub-menu{grid-template-columns:repeat(2, minmax(160px,1fr));}
}


/* Mega Menu highlight block (lightweight, no plugin) */
.vt-menu--desktop > li.vt-mega > .sub-menu{
  grid-template-columns:repeat(4, minmax(160px,1fr)) minmax(220px,1.1fr);
}
.vt-menu--desktop > li.vt-mega > .sub-menu > li.vt-mega-hl{
  list-style:none;
  grid-column:5 / 6;
  align-self:stretch;
}
.vt-mega-hl__card{
  height:100%;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg, rgba(14,165,233,.10), rgba(99,102,241,.10));
  box-shadow:0 16px 40px rgba(2,6,23,.14);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.vt-mega-hl__title{font-weight:1000; font-size:16px; margin:0;}
.vt-mega-hl__text{margin:0; opacity:.9; font-size:13px; line-height:1.45;}
.vt-mega-hl__row{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:auto}
.vt-mega-hl__btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 12px; border-radius:14px; font-weight:900; text-decoration:none; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16);}
.vt-mega-hl__btn:hover{background:rgba(255,255,255,.14)}
.vt-mega-hl__hotline{font-weight:900; opacity:.95; font-size:13px; padding:10px 12px; border-radius:14px; border:1px solid rgba(255,255,255,.14); background:rgba(2,6,23,.04);}
@media(max-width:980px){
  .vt-menu--desktop > li.vt-mega > .sub-menu{grid-template-columns:repeat(2, minmax(160px,1fr));}
  .vt-menu--desktop > li.vt-mega > .sub-menu > li.vt-mega-hl{grid-column:1 / -1;}
}

/* Mega menu icons (service groups) */
.vt-mi-ico{width:18px; height:18px; border-radius:6px; display:inline-block; flex:0 0 auto; margin-right:8px; vertical-align:-3px; background:rgba(2,6,23,.08); border:1px solid rgba(2,6,23,.08);}
.vt-mi-ico[data-ico="internet"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230ea5e9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12a7 7 0 0 1 14 0'/%3E%3Cpath d='M8.5 12a3.5 3.5 0 0 1 7 0'/%3E%3Cpath d='M12 12v8'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; background-size:14px 14px;}
.vt-mi-ico[data-ico="tv"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='12' rx='2'/%3E%3Cpath d='M8 3l4 4 4-4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; background-size:14px 14px;}
.vt-mi-ico[data-ico="combo"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12h10'/%3E%3Cpath d='M12 7v10'/%3E%3Crect x='4' y='4' width='16' height='16' rx='3'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; background-size:14px 14px;}

/* Post cards: equal height + line clamp */
.vt-post{display:flex; flex-direction:column;}
.vt-post__thumb{display:block;}
.vt-post__body{display:flex; flex-direction:column; gap:8px; flex:1; padding:14px 14px 16px;}
.vt-post__t{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0;}
.vt-post__e{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; opacity:.92;}

/* === Home: News & Offers slider (8 latest posts) === */
.vt-news-slider{position:relative;}
.vt-news-slider__track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  padding:4px 2px 14px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.vt-news-slider__track::-webkit-scrollbar{height:8px;}
.vt-news-slider__track::-webkit-scrollbar-thumb{background:rgba(0,0,0,.14); border-radius:999px;}
.vt-news-slider__item{flex:0 0 320px; scroll-snap-align:start;}
@media (max-width: 980px){.vt-news-slider__item{flex-basis:300px;}}
@media (max-width: 640px){.vt-news-slider__item{flex-basis:84vw;}}

.vt-news-slider__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px; height:36px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.10);
  background:rgba(255,255,255,.8);
  backdrop-filter:saturate(140%) blur(10px);
  box-shadow:0 10px 30px rgba(0,0,0,.10);
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.vt-news-slider__nav--prev{left:-6px;}
.vt-news-slider__nav--next{right:-6px;}
.vt-news-slider__nav:active{transform:translateY(-50%) scale(.98);}
@media (max-width: 980px){
  .vt-news-slider__nav{display:none;}
}



/* --- v2.1.3: Hero slider image rendering (Flatsome-like) --- */
.vt-hero-slider { position: relative; }
.vt-hero-slider__viewport { position: relative; overflow: hidden; border-radius: 18px; background: rgba(0,0,0,.04); }
.vt-hero-slide { display: none; }
.vt-hero-slide.is-active { display: block; }
.vt-hero-link { display:block; }
.vt-hero-media { display:block; width:100%; }
.vt-hero-img { display:block; width:100%; height:100%; object-fit: var(--vt-hero-fit, cover); object-position: center center; }
/* responsive height via aspect-ratio variables (desktop/mobile) */
.vt-hero-slider__viewport { height:auto; }
@media (max-width: 767px){
  .vt-hero-slider__viewport { border-radius: 16px; }
}
/* nav buttons */
.vt-hero-nav{ position:absolute; top:50%; transform:translateY(-50%);
  width:32px; height:32px; border-radius:999px; border:0;
  background:rgba(255,255,255,.55); backdrop-filter:saturate(140%) blur(8px);
  box-shadow:0 6px 18px rgba(0,0,0,.10); cursor:pointer;
  opacity:.28; transition:opacity .18s ease, transform .18s ease, background .18s ease;
}
.vt-hero-nav--prev{ left:10px; }
.vt-hero-nav--next{ right:10px; }
.vt-hero-slider:hover .vt-hero-nav,
.vt-hero-nav:focus-visible{ opacity:.95; }
.vt-hero-nav:active{ transform:translateY(-50%) scale(.98); }
@media (max-width:767px){
  /* On touch devices there's no hover, keep them visible but subtle */
  .vt-hero-nav{ opacity:.65; background:rgba(255,255,255,.62); }
}
/* dots */
.vt-hero-dots{ position:absolute; left:50%; bottom:10px; transform:translateX(-50%); display:flex; gap:8px; padding:8px 10px; border-radius:999px; background:rgba(255,255,255,.65); backdrop-filter:saturate(140%) blur(10px); }
.vt-dot{ width:8px; height:8px; border-radius:999px; border:0; background:rgba(0,0,0,.25); cursor:pointer; }
.vt-dot.is-active{ background:rgba(0,0,0,.75); }

/* --- v2.1.3: Quick buttons (e.g., Đăng ký) responsive polish --- */
.vt-quick__grid{ display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.vt-quick__item{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:16px; min-height:52px; }
.vt-quick__icon{ flex:0 0 auto; }
.vt-quick__text{ font-size: clamp(13px, 1.1vw, 15px); line-height:1.2; }
@media (max-width: 767px){
  .vt-quick__grid{ grid-template-columns: 1fr; }
  .vt-quick__item{ justify-content:flex-start; }
}

/* --- v2.1.3: Remove any share UI if still present --- */
.vt-share{ display:none !important; }


/* Level 3 dropdown support */
.vt-menu--desktop .sub-menu .sub-menu{position:absolute; left:100%; top:0; margin-top:-6px; min-width:220px;}
.vt-menu--desktop .sub-menu li{position:relative;}
.vt-menu--desktop .sub-menu li:hover > .sub-menu{display:block; opacity:1; visibility:visible; transform:none;}

.vt-track{cursor:grab;}
.vt-track.is-dragging{cursor:grabbing;}

/* ===== v2.1.5 Slider Fix: auto height by image, remove blue gap ===== */
.vt-hero-slider{background:transparent !important;}
.vt-hero-slider__viewport{aspect-ratio:auto !important; height:auto; overflow:hidden;}
.vt-hero-slide img, .vt-hero-img{background:transparent !important;}
@media (max-width: 980px){ .vt-hero-slider__viewport{height:auto !important;} }
@media (max-width: 520px){ .vt-hero-slider__viewport{height:auto !important;} }


@media (max-width: 767px){
  .vt-header .vt-nav__actions .vt-hotline,
  .vt-header .vt-nav__actions .vt-cta{display:none !important;}
}

/* === Header CTA: red background, white text (Đăng ký nhanh) === */
.vt-header .vt-nav__actions .vt-cta{
  background:#E53935;
  color:#fff;
  border:1px solid rgba(0,0,0,.06);
  font-weight:700;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.vt-header .vt-nav__actions .vt-cta:hover{background:#C62828; color:#fff;}
.vt-header .vt-nav__actions .vt-cta:focus-visible{outline:3px solid rgba(229,57,53,.35); outline-offset:2px;}


.vt-hero-nav, .vt-hero-dots{display:none !important;}

@media (max-width: 767px){ .vt-sticky-cta{display:block !important;} }


/* v2.1.7 – Readability polish */
.vt-prose, .vt-prose p, .vt-prose li{
  text-align: left !important;
  text-justify: auto;
  hyphens: auto;
  overflow-wrap: anywhere;
  word-break: normal;
}
.vt-prose p{margin: 0 0 14px; font-size: 16px; line-height: 1.85;}
@media(max-width:520px){.vt-prose p{font-size: 16px; line-height: 1.9;}}
/* Make post cards fully clickable */
.vt-post.vt-card{position:relative; cursor:pointer;}
.vt-post__stretched{position:absolute; inset:0; z-index:1; border-radius:inherit;}
.vt-post__thumb, .vt-post__body, .vt-post__t a{position:relative; z-index:2;}
.vt-post__e{position:relative; z-index:2;}



/* Hero nav: subtle arrows */
.vt-hero-nav{opacity:0; transition:opacity .55s ease, transform .75s cubic-bezier(.2,.8,.2,1);}
.vt-hero-slider:hover .vt-hero-nav, .vt-hero-nav:focus-visible{opacity:.75;}
@media(max-width:767px){.vt-hero-nav{opacity:.55}}

.vt-hero-dots{display:none !important;}

.vt-hero-slider__viewport{touch-action:pan-y; cursor:grab;}
.vt-hero-slider__viewport.is-dragging{cursor:grabbing;}

/* Hero slide neighbors for drag */
.vt-hero-slide.is-prev{opacity:0; transform:translateX(-18px);} 
.vt-hero-slide.is-next{opacity:0; transform:translateX(18px);} 


/* === Internet Hub (Telecom-style, household-focused) === */

.vt-hub-hero{background:linear-gradient(135deg, rgba(225,6,0,.10), rgba(0,0,0,0)); border-bottom:1px solid var(--vt-line);}
.vt-hub-hero__inner{display:grid; grid-template-columns:1.2fr .8fr; gap:18px; padding:26px 0;}
@media (max-width: 980px){.vt-hub-hero__inner{grid-template-columns:1fr; padding:18px 0;}}
.vt-hub-hero__title{font-size:34px; line-height:1.15; margin:0 0 8px;}
@media (max-width: 980px){.vt-hub-hero__title{font-size:26px;}}
.vt-hub-hero__sub{margin:0 0 14px; color:var(--vt-muted); font-size:15px;}
.vt-hub-hero__cta{display:flex; gap:10px; flex-wrap:wrap;}
/* Trust chips removed */
.vt-hub-hero__media{display:flex; align-items:center; justify-content:flex-end;}
.vt-hub-hero__card{background:#fff; border:1px solid var(--vt-line); border-radius:18px; padding:16px; width:min(360px,100%); box-shadow:0 10px 26px rgba(0,0,0,.06);}
.vt-hub-hero__card-title{font-weight:800; margin-bottom:6px;}
.vt-hub-hero__card-sub{color:var(--vt-muted); font-size:13px;}

.vt-hub-section{padding:26px 0;}
.vt-hub-section--light{background:rgba(0,0,0,.02); border-top:1px solid var(--vt-line); border-bottom:1px solid var(--vt-line);}
.vt-hub-cards .vt-card{padding:16px;}
.vt-card--icon .vt-card__icon{font-size:22px; margin-bottom:8px;}
.vt-card--icon .vt-card__text{color:var(--vt-muted); margin:0;}
.vt-hub-feats .vt-feat{background:#fff; border:1px solid var(--vt-line); border-radius:16px; padding:14px;}
.vt-feat__icon{font-size:18px; margin-bottom:6px;}
.vt-feat__t{font-weight:800;}
.vt-feat__s{color:var(--vt-muted); font-size:12px; margin-top:2px;}

.vt-hub-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px;}
@media (max-width: 980px){.vt-hub-head{flex-direction:column; align-items:flex-start;}}
.vt-link{color:var(--vt-accent); font-weight:700; text-decoration:none;}
.vt-card--pkg.is-highlight{border-color:rgba(225,6,0,.45); box-shadow:0 12px 28px rgba(225,6,0,.12);}
.vt-card__meta{color:var(--vt-muted); font-size:13px; margin-top:4px;}
.vt-card__actions{margin-top:12px;}

.vt-hub-compare{margin-top:14px;}
.vt-card--soft{background:rgba(0,0,0,.02);}
.vt-list{margin:10px 0 0; padding-left:18px; color:var(--vt-text);}
.vt-list li{margin:6px 0;}

.vt-hub-section--cta{background:#0b1220; color:#fff;}
.vt-hub-cta{display:flex; align-items:center; justify-content:space-between; gap:16px;}
@media (max-width: 980px){.vt-hub-cta{flex-direction:column; align-items:flex-start;}}
.vt-hub-cta h2{margin:0 0 6px; font-size:22px;}
.vt-hub-cta p{margin:0; opacity:.8;}
.vt-hub-section--cta .vt-btn--primary{background:#e10600; border-color:#e10600;}


/* ===== Service Hub (Products & Services) ===== */
.vt-card--service .vt-card__top{display:flex; gap:12px; align-items:center; margin-bottom:10px;}
.vt-card--service .vt-card__icon{width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background: rgba(225,6,0,.10); font-size:20px;}
.vt-card--service .vt-card__title{font-weight:900; font-size:16px;}
.vt-card--service .vt-card__sub{color:var(--vt-muted); font-size:13px; margin-top:2px;}
.vt-card--service .vt-card__bullets{margin:10px 0 0; padding-left:18px; color:rgba(17,24,39,.86); font-size:14px; line-height:1.45;}
.vt-card--service .vt-card__bullets li{margin:6px 0;}
.vt-card--service .vt-card__actions{display:flex; gap:12px; align-items:center; margin-top:14px; flex-wrap:wrap;}
.vt-btn--link{background:transparent; border:0; padding:0; color:#e10600; font-weight:800;}
.vt-btn--link:hover{text-decoration:underline;}

.vt-hub-section--muted{background: linear-gradient(135deg, rgba(17,24,39,.03), rgba(255,255,255,0)); border-top:1px solid var(--vt-line); border-bottom:1px solid var(--vt-line);}
.vt-hub-split{display:grid; grid-template-columns: 1.1fr .9fr; gap:14px; align-items:start;}
@media(max-width:980px){.vt-hub-split{grid-template-columns:1fr;}}
.vt-card--mini{padding:14px;}
.vt-miniRow{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px dashed rgba(0,0,0,.10);}
.vt-miniRow:last-child{border-bottom:0;}
.vt-miniRow__k{font-weight:800;}
.vt-miniRow__v a{color:#e10600; font-weight:800;}
.vt-hub-why{display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; margin-top:10px;}
@media(max-width:1100px){.vt-hub-why{grid-template-columns: repeat(2, 1fr);}}
@media(max-width:640px){.vt-hub-why{grid-template-columns: 1fr;}}
.vt-card--why{padding:14px; display:flex; gap:10px; align-items:flex-start;}
.vt-why__icon{width:28px; height:28px; border-radius:999px; background: rgba(34,197,94,.12); color: rgb(22,163,74);
  display:flex; align-items:center; justify-content:center; font-weight:900;}
.vt-why__text{font-weight:700; line-height:1.35;}

.vt-hub-ctaBottom{margin-top:18px; padding:16px; border:1px solid var(--vt-line); border-radius:18px;
  display:flex; justify-content:space-between; gap:14px; align-items:center; background: #fff;}
@media(max-width:800px){.vt-hub-ctaBottom{flex-direction:column; align-items:stretch;}}
.vt-hub-ctaBottom__title{margin:0 0 4px; font-size:16px;}
.vt-hub-ctaBottom__desc{margin:0; color:var(--vt-muted); font-size:13px;}


/* Service detail (single vtsv_service) */
.vt-breadcrumbs{font-size:13px;color:var(--vt-muted);margin:0 0 10px;display:flex;gap:8px;flex-wrap:wrap}
.vt-breadcrumbs a{color:inherit;text-decoration:none}
.vt-breadcrumbs a:hover{text-decoration:underline}
.vt-bc-sep{opacity:.7}
.vt-service-hero{padding:28px 0 18px;background:linear-gradient(180deg, rgba(0,0,0,.04), transparent)}
.vt-service-hero__inner{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center}
.vt-service-hero__title{margin:0 0 10px;font-size:34px;line-height:1.15}
.vt-service-hero__sub{margin:0 0 14px;color:var(--vt-muted);font-size:16px}
.vt-service-hero__cta{display:flex;gap:10px;flex-wrap:wrap}
.vt-service-hero__thumb img{width:100%;height:auto;border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.08)}
.vt-service-layout{display:grid;grid-template-columns:1fr 320px;gap:22px;padding:22px 0 36px}
.vt-service-aside__title{font-weight:700;margin:0 0 6px}
.vt-service-aside__desc{color:var(--vt-muted);font-size:13px;margin:0 0 14px}
.vt-btn--block{display:block;width:100%;text-align:center}
@media (max-width: 900px){
  .vt-service-hero__inner{grid-template-columns:1fr}
  .vt-service-layout{grid-template-columns:1fr}
}


/* Typography consistency */
input,select,textarea,button{font: inherit;}
body{-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}


/* Combo pricing table */
.vt-landing-pricing .vt-section-subtitle{margin-top:6px;color:var(--vt-muted);max-width:820px;}
.vt-pricing-table{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-top:18px;
  border:1px solid var(--vt-line);
  border-radius:var(--vt-radius);
  background:var(--vt-card);
  box-shadow:var(--vt-shadow-soft);
}
.vt-pricing-table table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}
.vt-pricing-table th,
.vt-pricing-table td{
  padding:12px 14px;
  border-bottom:1px solid var(--vt-line);
  text-align:left;
  vertical-align:top;
}
.vt-pricing-table thead th{
  font-weight:800;
  color:var(--vt-text);
  background:rgba(2,124,237,.06);
}
.vt-pricing-table .vt-th-meta{
  margin-top:3px;
  font-size:12px;
  font-weight:600;
  color:var(--vt-muted);
  line-height:1.25;
}
.vt-pricing-table .vt-row-label{font-weight:700;}
.vt-pricing-table .vt-row-total td{font-weight:900;}
.vt-pricing-table .vt-row-total--basic td{color:var(--vt-brand-back);}
.vt-pricing-table .vt-row-total--premium td{color:var(--vt-brand-blue);}
.vt-pricing-table .vt-footnote{
  padding:10px 12px;
  font-size:13px;
  color:var(--vt-muted);
}


/* ===== Landing variations (v2.5.7) ===== */
.vt-grid--2{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}
.vt-grid--4{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 960px){
  .vt-grid--2{grid-template-columns:1fr}
  .vt-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 560px){
  .vt-grid--4{grid-template-columns:1fr}
}

.vt-split{display:grid;grid-template-columns:1.4fr .9fr;gap:24px;align-items:start}
@media (max-width: 960px){.vt-split{grid-template-columns:1fr}}

.vt-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width: 720px){.vt-feature-grid{grid-template-columns:1fr}}
.vt-feature{padding:14px;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid rgba(17,24,39,.08)}
.vt-feature__t{font-weight:700}
.vt-feature__d{margin-top:4px;color:var(--vt-muted);font-size:14px}

.vt-card--plan .vt-card__price,
.vt-card--pkg .vt-card__price{font-size:18px;font-weight:800;margin:6px 0 10px}
.vt-card--plan .vt-card__meta{color:var(--vt-muted);font-size:13px}
.vt-card--compare.is-highlight{border-color:rgba(2,124,237,.35);box-shadow:0 12px 30px rgba(2,124,237,.08)}

.vt-steps .vt-step{padding:14px;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid rgba(17,24,39,.08)}
.vt-step__n{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;background:rgba(2,124,237,.10);color:var(--vt-primary)}
.vt-step__t{margin-top:10px;font-weight:800}
.vt-step__d{margin-top:4px;color:var(--vt-muted);font-size:14px}

.vt-landing-tv-bands{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px}
.vt-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(17,24,39,.08);font-size:13px}

.vt-landing-combo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
@media (max-width: 720px){.vt-landing-combo-stats{grid-template-columns:1fr}}
.vt-stat{padding:12px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(17,24,39,.08)}
.vt-stat__n{font-weight:900;color:var(--vt-primary);font-size:18px}
.vt-stat__t{margin-top:6px;font-weight:800}
.vt-stat__d{margin-top:2px;color:var(--vt-muted);font-size:13px}

.vt-card--side .vt-side-card__title{font-weight:900;font-size:16px;margin-bottom:6px}
.vt-card--pricing .vt-subtitle{margin:0 0 10px}
.vt-hero-svg{width:100%;height:auto;display:block}

/* Footer refresh (v2.5.8) */
.vt-footer{
  background:
    radial-gradient(900px 420px at 15% 0%, rgba(2,124,237,.28), transparent 60%),
    radial-gradient(900px 420px at 85% 0%, rgba(0,154,68,.20), transparent 60%),
    linear-gradient(180deg, #0b1220 0%, #0b1220 55%, #070b14 100%);
  color: rgba(255,255,255,.92);
  padding: 34px 0 18px;
  margin-top: 34px;
  border-top: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 -22px 60px rgba(17,24,39,.26);
}
.vt-footer__title{font-size:20px;}
.vt-footer__meta{opacity:.85;}
.vt-footer a{color: rgba(255,255,255,.92); text-decoration:none;}
.vt-footer a:hover{opacity:1; text-decoration:underline;}
.vt-footer .widget-title{font-size:13px; text-transform:uppercase; letter-spacing:.08em; opacity:.9;}
.vt-footer__bottom{
  border-top: 1px solid rgba(255,255,255,.10);
  opacity: .92;
}
.vt-footer__grid{gap:22px;}

.vt-footer__top{display:grid;grid-template-columns:1fr;gap:12px;align-items:center;margin-bottom:22px;padding:18px 18px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);box-shadow:0 14px 40px rgba(0,0,0,.25)}
.vt-footer__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:.95}
/* Footer lead: truly 1 column (no artificial max-width that makes it look like 2 columns) */
.vt-footer__lead{display:block !important;margin-top:0;font-size:15px;line-height:1.55;opacity:.92;max-width:none;width:100%}
.vt-footer__lead>*{width:100% !important;max-width:100% !important}
/* Footer trust image removed */


/* Header hotline address */
.vt-hotline__addr{display:none; font-size:12px; color:rgba(15,23,42,.72); margin-left:10px; white-space:nowrap}
@media (min-width: 1024px){.vt-hotline__addr{display:inline}}

/* Footer brand logo */
.vt-footer__brand{margin-bottom:14px}
.vt-footer__brand .custom-logo{max-height:var(--vt-footer-logo-h,24px) !important; max-width:160px; width:auto; display:block;}
.vt-footer__brandText{font-weight:900; font-size:18px}

/* Footer meta spacing */
.vt-footer__meta{margin:6px 0 0}


/* Landing CTA band */
.vt-lp-cta-band{margin:26px 0 10px}
.vt-cta-band{display:flex; gap:18px; align-items:center; justify-content:space-between; padding:18px; border-radius:22px; background:linear-gradient(135deg, rgba(2,124,237,.10), rgba(218,41,28,.06)); border:1px solid rgba(17,24,39,.10); box-shadow:0 18px 60px rgba(15,23,42,.10)}
.vt-cta-band__text{flex:1}
.vt-cta-band__actions{display:flex; gap:12px; flex-wrap:wrap}
@media (max-width: 860px){.vt-cta-band{flex-direction:column; align-items:flex-start}}

.vt-grid3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
@media (max-width: 860px){.vt-grid3{grid-template-columns:1fr}}

.vt-stepper{margin:0; padding-left:18px; color:rgba(17,24,39,.86); line-height:1.6}
.vt-stepper li{margin:10px 0}

/* SEO content blocks (v2.7.8) */
.vtv-seo{padding-top:12px}
.vtv-seo__grid{display:grid; grid-template-columns:1fr; gap:18px}
.vtv-seo__box{border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:16px; background:#fff; box-shadow:0 10px 24px rgba(0,0,0,.06)}
.vtv-qa details{border:1px solid rgba(0,0,0,.06); border-radius:12px; padding:10px 12px; background:#fff; margin:10px 0}
.vtv-qa summary{cursor:pointer; font-weight:800}
.vtv-qa__a{padding-top:10px; color:#334155; line-height:1.7}
.vtv-bullets{margin:10px 0 0; padding-left:18px}
.vtv-steps{margin:10px 0 0; padding-left:18px}
.vtv-seoCta{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}
@media (min-width: 900px){
  .vtv-seo__grid{grid-template-columns: 1.6fr .9fr; align-items:start}
  .vtv-seo__box{position:sticky; top:96px}
}
.vtv-hero img{display:block; max-width:100%; height:auto}

/* Improve font loading */
@font-face{font-display:swap;}

/* Pill gray */
.vtv-pill--gray{background:rgba(15,23,42,.08);color:#0f172a;border:1px solid rgba(15,23,42,.10)}

.vtv-pillline{margin:10px 0 0}
.vtv-mini{margin:6px 0 0;font-size:12px;color:var(--vtv-muted)}



/* =========================================================
   v3.4.3 (Lite UI fixes) - giữ style 3.1.2, chỉ chỉnh nhẹ
   ========================================================= */

/* Combo page: nâng độ dễ đọc mà không đổi bố cục */
.vtv-section__head{gap:14px}
.vtv-table-wrap{border-radius:18px; overflow:auto}
.vtv-table th, .vtv-table td{padding:10px 12px}

/* Footer logo size (đỡ to) */
.vt-footer__brand img{height:var(--vt-footer-logo-h,20px) !important; max-width:140px}



/* =========================================================
   v3.4.5 Contact page + CF7 polish
   ========================================================= */
.vt-contact .wpcf7{margin-top:10px}
.vt-contact .wpcf7 form{display:grid; gap:12px}
.vt-contact .wpcf7 label{font-weight:800; font-size:13px}
.vt-contact .wpcf7 input[type="text"],
.vt-contact .wpcf7 input[type="tel"],
.vt-contact .wpcf7 input[type="email"],
.vt-contact .wpcf7 textarea,
.vt-contact .wpcf7 select{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(17,24,39,.14);
  padding:10px 12px;
  background:#fff;
  box-shadow:0 2px 10px rgba(17,24,39,.04);
}
.vt-contact .wpcf7 textarea{min-height:120px; resize:vertical}
.vt-contact .wpcf7 input:focus,
.vt-contact .wpcf7 textarea:focus,
.vt-contact .wpcf7 select:focus{
  outline:none;
  border-color:rgba(2,124,237,.55);
  box-shadow:0 0 0 4px rgba(2,124,237,.18);
}
.vt-contact .wpcf7 .wpcf7-submit{
  border-radius:999px;
  padding:12px 16px;
  font-weight:900;
  min-height:46px;
}
.vt-contact .wpcf7 .wpcf7-not-valid-tip{font-size:12px}
.vt-contact .wpcf7 .wpcf7-response-output{margin:0; border-radius:14px}

/* Google Map responsive */
.vt-contact__map iframe{width:100% !important; max-width:100%; border:0; border-radius:18px; min-height:320px}



/* =========================================================
   v3.4.6 Contact UI polish
   ========================================================= */
.vt-contact .vt-hero--contact{padding:44px 0 18px}
.vt-contact .vt-hero__inner{gap:18px}
.vt-contact .vt-contact__cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
@media (max-width:980px){.vt-contact .vt-contact__cards{grid-template-columns:1fr}}
.vt-contact .vt-contact__card{
  border:1px solid rgba(17,24,39,.10);
  border-radius:18px;
  background:rgba(255,255,255,.90);
  box-shadow: var(--vt-shadow-soft, 0 6px 14px rgba(17,24,39,.08));
  padding:14px;
}
.vt-contact .vt-contact__card .vt-contact__label{font-weight:900}
.vt-contact .vt-contact__card .vt-contact__value{margin-top:6px}

.vt-contact .vt-contact__grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:16px;
  align-items:start;
  margin-top:14px;
}
@media (max-width:980px){.vt-contact .vt-contact__grid{grid-template-columns:1fr}}

.vt-contact .vt-contact__panel{
  border:1px solid rgba(17,24,39,.10);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow: var(--vt-shadow-2, 0 18px 40px rgba(17,24,39,.12));
  padding:16px;
}
.vt-contact .vt-contact__panel h2{margin:0 0 10px; letter-spacing:-.02em}
.vt-contact .vt-contact__panel p{color:var(--vt-muted,#6b7280)}

.vt-contact .wpcf7 .wpcf7-submit{
  background:var(--vt-accent, #027ced);
  color:#fff;
  border:0;
  cursor:pointer;
}
.vt-contact .wpcf7 .wpcf7-submit:hover{filter:brightness(.98)}



/* =========================================================
   v3.4.7 Contact page full optimization
   ========================================================= */
.vt-contact .vt-container{max-width:1160px}

/* Make header area breathe */
.vt-contact .vt-hero--contact{padding:52px 0 18px}

/* Cards row spacing */
.vt-contact .vt-cards{
  margin-top:16px;
  gap:14px;
}
.vt-contact .vt-cards .vt-card{padding:16px}

/* Separate cards block and main grid clearly */
.vt-contact .vt-mt-6{margin-top:26px !important}

/* Form + map grid spacing */
.vt-contact .vt-grid--2{
  gap:18px !important;
}
@media (max-width: 980px){
  .vt-contact .vt-grid--2{gap:14px !important}
}

/* Panels polish */
.vt-contact .vt-card--shadow{
  border-radius:24px;
  padding:18px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(17,24,39,.10);
  box-shadow: 0 18px 40px rgba(17,24,39,.10);
}
@media (max-width: 980px){
  .vt-contact .vt-card--shadow{padding:14px}
}
.vt-contact .vt-h2{margin:0 0 10px}
.vt-contact .vt-muted{margin:0 0 14px; color:var(--vt-muted,#6b7280)}

/* CF7: modern form layout */
.vt-contact .wpcf7 form{
  display:grid;
  gap:12px;
}
.vt-contact .wpcf7-form-control-wrap{
  display:block;
}
.vt-contact .wpcf7 label{
  display:block;
  font-weight:800;
  font-size:13px;
  margin:0 0 6px;
  color:rgba(17,24,39,.85);
}
.vt-contact .wpcf7 input[type="text"],
.vt-contact .wpcf7 input[type="tel"],
.vt-contact .wpcf7 input[type="email"],
.vt-contact .wpcf7 textarea,
.vt-contact .wpcf7 select{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(17,24,39,.14);
  padding:12px 14px;
  background:rgba(255,255,255,.98);
  box-shadow:0 4px 14px rgba(17,24,39,.06);
  transition:border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}
.vt-contact .wpcf7 textarea{min-height:132px; resize:vertical}
.vt-contact .wpcf7 input::placeholder,
.vt-contact .wpcf7 textarea::placeholder{color:rgba(107,114,128,.75)}
.vt-contact .wpcf7 input:focus,
.vt-contact .wpcf7 textarea:focus,
.vt-contact .wpcf7 select:focus{
  outline:none;
  border-color:rgba(2,124,237,.55);
  box-shadow:0 0 0 4px rgba(2,124,237,.18), 0 10px 26px rgba(17,24,39,.08);
}

/* Make submit look premium */
.vt-contact .wpcf7 .wpcf7-submit{
  width:100%;
  border-radius:999px;
  padding:13px 16px;
  font-weight:900;
  min-height:48px;
  background:linear-gradient(135deg, rgba(2,124,237,1), rgba(2,124,237,.82));
  color:#fff;
  border:0;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(2,124,237,.22);
}
.vt-contact .wpcf7 .wpcf7-submit:hover{
  transform:translateY(-1px);
  filter:brightness(.99);
}
.vt-contact .wpcf7 .wpcf7-submit:active{transform:translateY(0)}
.vt-contact .wpcf7 .wpcf7-spinner{margin-left:10px}

/* Validation */
.vt-contact .wpcf7 .wpcf7-not-valid-tip{font-size:12px; margin-top:6px}
.vt-contact .wpcf7 .wpcf7-response-output{
  margin:10px 0 0;
  border-radius:16px;
}

/* Map */
.vt-contact .vt-contact__map{
  margin-top:10px;
}
.vt-contact .vt-contact__map iframe{
  width:100% !important;
  max-width:100%;
  border:0;
  border-radius:20px;
  min-height:360px;
  box-shadow:0 10px 26px rgba(17,24,39,.10);
}
.vt-contact .vt-contact__hours{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(17,24,39,.08);
}

/* Optional: align cards titles */
.vt-contact .vt-card__title a{font-weight:900}



/* =========================================================
   v3.4.8 Contact fix (apply styles properly)
   - Thêm wrapper .vt-contact để CSS ăn chắc (trước đây page thiếu class nên không tác dụng)
   ========================================================= */
.vt-contact{padding-bottom:26px}
.vt-contact .vt-contact__cards{margin-top:18px !important; gap:14px}
.vt-contact .vt-mt-6{margin-top:28px !important}
.vt-contact .vt-contact__grid{gap:18px !important}

/* Force CF7 styling even if plugin injects defaults */
.vt-contact .wpcf7 input[type="text"],
.vt-contact .wpcf7 input[type="tel"],
.vt-contact .wpcf7 input[type="email"],
.vt-contact .wpcf7 textarea,
.vt-contact .wpcf7 select{
  border:1px solid rgba(17,24,39,.16) !important;
  border-radius:16px !important;
  padding:12px 14px !important;
  box-shadow:0 6px 16px rgba(17,24,39,.06) !important;
}
.vt-contact .wpcf7 .wpcf7-submit{
  width:100% !important;
  border-radius:999px !important;
  padding:13px 16px !important;
  font-weight:900 !important;
  background:linear-gradient(135deg, rgba(2,124,237,1), rgba(2,124,237,.82)) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 14px 30px rgba(2,124,237,.22) !important;
}



/* =========================================================
   v3.5.0 Landing typography micro-fixes
   ========================================================= */
/* Fix: <strong> dính sát chữ thường trong bullet list (Internet/Truyền hình) */
.vt-lp ul li strong::after,
.vt-section ul li strong::after,
.vt-card ul li strong::after{
  content:" ";
}
/* Improve bullet readability */
.vt-lp ul, .vt-section ul{padding-left:18px}
.vt-lp li, .vt-section li{line-height:1.65}



/* =========================================================
   v3.5.1 Fix: bold text in bullet list stuck to following text
   ========================================================= */
li strong, li b{display:inline !important}
li strong::after, li b::after{content:"\00a0";}



/* =========================================================
   v3.5.2 Fix mạnh: chữ in đậm bị dính chữ thường sau nó
   - dùng margin-right thay vì pseudo-element (ăn chắc hơn)
   ========================================================= */
.vt-lp li strong,
.vt-lp li b,
.vt-section li strong,
.vt-section li b,
.vt-card li strong,
.vt-card li b,
li strong, li b{
  display:inline-block !important;
  margin-right:6px !important;
}



/* =========================================================
   v3.5.3 Bullet spacing ultra-robust
   - trường hợp text bôi đen nằm trong <span> (Gutenberg) thay vì <strong>/<b>
   ========================================================= */
li > strong:first-child,
li > b:first-child,
li > span:first-child,
li > em:first-child{
  display:inline-block !important;
  margin-right:6px !important;
}


@media (max-width: 767px){
  .vt-card{padding: 16px;}
}
