/* =====================================================================================
   GHDNN Express — Trang chủ v2.0 (theme v1.40.0), Untitled UI. Chỉ tải ở front-page.php.
   Dùng token của ui.css. Tiền tố "h-" cho khối trang chủ, "u-" cho component dùng chung.
   ===================================================================================== */
.u-home{background:var(--u-bg);color:var(--u-text);font-size:16px;line-height:24px;overflow-x:clip;}
:where(.u-home) a{color:inherit;} /* :where → độ ưu tiên 0, không đè màu của .u-btn/.u-link */

/* ---- Section scaffolding ---- */
.h-section{padding:64px 0;}
@media(min-width:1024px){ .h-section{padding:96px 0;} }
.h-section--subtle{background:var(--u-bg-subtle);}
.h-section--dark{background:var(--u-gray-950);color:#fff;}
.h-head{max-width:768px;margin-bottom:40px;}
@media(min-width:1024px){ .h-head{margin-bottom:56px;} }
.h-head--center{margin-inline:auto;text-align:center;}
.h-head--split{max-width:none;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;}
.h-head--split > div:first-child{max-width:720px;}
.h-eyebrow{display:block;margin-bottom:12px;font:600 14px/20px var(--u-font);color:var(--u-text-brand);}
@media(min-width:768px){ .h-eyebrow{font-size:16px;line-height:24px;} }
.h-eyebrow--light{color:var(--u-brand-300);}
.h-title{font:600 30px/38px var(--u-font);letter-spacing:-.02em;color:inherit;text-wrap:balance;}
@media(min-width:768px){ .h-title{font-size:36px;line-height:44px;} }
.h-sub{margin-top:16px;font-size:18px;line-height:28px;color:var(--u-text-2);}
@media(min-width:768px){ .h-sub{font-size:20px;line-height:30px;} }
.h-section--dark .h-sub{color:var(--u-gray-400);}
.h-card-title{font:600 18px/28px var(--u-font);color:var(--u-text);}
.h-card-text{margin-top:8px;font-size:16px;line-height:24px;color:var(--u-text-2);}
.h-center{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px;}
.h-split{display:grid;gap:48px;align-items:center;}
@media(min-width:1024px){ .h-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;} }
.h-split--top{align-items:start;}
.h-split .h-head{margin-bottom:0;}

/* =====================================================================================
   1. HERO
   ===================================================================================== */
.h-hero{position:relative;padding:48px 0 64px;isolation:isolate;}
@media(min-width:1024px){ .h-hero{padding:72px 0 96px;} }
.h-hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--u-border) 1px,transparent 1px),linear-gradient(90deg,var(--u-border) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 30%,transparent 75%);opacity:.7;}
.h-hero__bg::after{content:"";position:absolute;width:520px;height:520px;right:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,var(--u-brand-100),transparent 70%);opacity:.8;}
.h-hero__grid{display:grid;gap:48px;align-items:center;}
@media(min-width:1024px){ .h-hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;} }
.h-badge-group{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 10px 4px 4px;border-radius:var(--u-r-full);border:1px solid var(--u-brand-200);background:var(--u-brand-50);color:var(--u-text-brand)!important;font:500 14px/20px var(--u-font);text-decoration:none;transition:background-color .15s;}
.h-badge-group:hover{background:var(--u-brand-100);}
.h-badge-group__tag{white-space:nowrap;flex-shrink:0;padding:2px 10px;border-radius:var(--u-r-full);background:var(--u-surface);border:1px solid var(--u-brand-200);font-weight:600;}
.h-badge-group .u-ico{width:16px;height:16px;transition:transform .2s var(--u-ease);}
.h-badge-group:hover .u-ico{transform:translateX(3px);}
.h-hero__title{margin-top:16px!important;font:600 36px/44px var(--u-font);letter-spacing:-.02em;color:var(--u-text);text-wrap:balance;}
@media(min-width:768px){ .h-hero__title{font-size:48px;line-height:60px;} }
@media(min-width:1280px){ .h-hero__title{font-size:56px;line-height:66px;} }
.h-mark{position:relative;color:var(--u-text-brand);}
@media(min-width:768px){ .h-mark{white-space:nowrap;} }
.h-hero__copy,.h-hero__panel{min-width:0;}
.h-mark::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.16em;border-radius:4px;background:var(--u-brand-100);z-index:-1;}
.h-hero__lead{margin-top:20px!important;font-size:18px;line-height:28px;color:var(--u-text-2);max-width:60ch;}
@media(min-width:768px){ .h-hero__lead{font-size:20px;line-height:30px;} }
.h-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
@media(max-width:479px){ .h-hero__actions .u-btn{flex:1 1 100%;} }
.h-hero__checks{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:32px!important;font-size:14px;line-height:20px;color:var(--u-text-2);font-weight:500;}
.h-hero__checks li{display:inline-flex;align-items:center;gap:8px;}
.h-hero__checks .u-ico{color:var(--u-success-600);}

.h-hero__panel{position:relative;}
.h-action{padding:8px;box-shadow:var(--u-shadow-xl);border-radius:var(--u-r-2xl);}
.h-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:var(--u-r-lg);background:var(--u-bg-subtle);border:1px solid var(--u-border);}
.h-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:0;border-radius:var(--u-r-md);background:transparent;color:var(--u-text-3);font:600 15px/20px var(--u-font);cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s;}
.h-tab .u-ico{width:18px;height:18px;}
.h-tab[aria-selected="true"]{background:var(--u-surface);color:var(--u-text);box-shadow:var(--u-shadow-sm);}
.h-tab:focus-visible{outline:none;box-shadow:var(--u-ring);}
.h-panel{padding:20px 16px 16px;}
.h-panel__form{display:grid;gap:16px;}
.h-panel[hidden]{display:none;}
@media (prefers-reduced-motion: no-preference){ .h-panel{animation:hFade .3s var(--u-ease);} }
@keyframes hFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.h-panel__row{display:grid;gap:16px;}
@media(min-width:480px){ .h-panel__row{grid-template-columns:1.4fr 1fr;} }
.h-action__foot{display:flex;align-items:center;gap:8px;margin:0 8px 8px;padding:12px;border-radius:var(--u-r-md);background:var(--u-bg-subtle);font-size:13px;line-height:18px;color:var(--u-text-2);}
.h-action__foot .u-ico{width:18px;height:18px;color:var(--u-success-600);}

.h-float{position:absolute;z-index:2;display:none;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--u-r-full);background:var(--u-surface);border:1px solid var(--u-border);box-shadow:var(--u-shadow-lg);font:600 13px/18px var(--u-font);color:var(--u-text);}
.h-float .u-ico{width:16px;height:16px;color:var(--u-text-brand);}
.h-float__dot{width:8px;height:8px;border-radius:50%;background:var(--u-success-600);box-shadow:0 0 0 4px var(--u-success-50);}
@media(min-width:1024px){
  .h-float{display:inline-flex;}
  .h-float--a{top:-18px;right:24px;}
  .h-float--b{bottom:-18px;left:-20px;}
}
@media (prefers-reduced-motion: no-preference){
  .h-float--a{animation:hBob 6s ease-in-out infinite;}
  .h-float--b{animation:hBob 7s ease-in-out 1.2s infinite;}
}
@keyframes hBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

/* =====================================================================================
   2. FACTS
   ===================================================================================== */
.h-facts{border-block:1px solid var(--u-border);background:var(--u-bg-subtle);}
.h-facts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
@media(min-width:1024px){ .h-facts__grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
.h-fact{padding:20px 8px;border-bottom:1px solid var(--u-border);}
.h-fact:nth-child(odd){padding-right:16px;}
@media(min-width:1024px){ .h-fact{padding:28px 24px;border-bottom:0;border-left:1px solid var(--u-border);} .h-fact:first-child{border-left:0;padding-left:0;} }
.h-fact dt{display:flex;align-items:center;gap:8px;font:500 14px/20px var(--u-font);color:var(--u-text-3);}
.h-fact dt .u-ico{width:18px;height:18px;color:var(--u-text-brand);}
.h-fact dd{margin-top:6px!important;font:600 16px/24px var(--u-font);color:var(--u-text);}
@media(min-width:768px){ .h-fact dd{font-size:18px;line-height:28px;} }
.h-fact dd a{text-decoration:none;}
.h-fact dd a:hover{color:var(--u-text-brand);}

/* =====================================================================================
   3. SERVICES
   ===================================================================================== */
.h-services{display:grid;gap:16px;grid-template-columns:1fr;}
@media(min-width:640px){ .h-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;} }
@media(min-width:1024px){ .h-services{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;} }
.h-service{padding:24px;gap:0;}
.h-service .u-ficon{margin-bottom:20px;}
.h-service .h-card-title a{text-decoration:none;}
.h-service__fit{display:flex;flex-direction:column;gap:2px;margin-top:16px!important;padding-top:16px;border-top:1px dashed var(--u-border);font-size:14px;line-height:20px;color:var(--u-text);}
.h-service__fit span{font-size:12px;line-height:18px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--u-text-3);}
.h-service__pages{display:flex;flex-direction:column;gap:4px;margin-top:12px!important;}
.h-service__pages a{display:inline-flex;min-height:24px;align-items:center;font-size:14px;font-weight:600;color:var(--u-text-brand)!important;text-decoration:none;}
.h-service__pages a:hover{text-decoration:underline;}
.h-card-more{margin-top:auto;padding-top:20px;}
.h-service:hover .h-card-more .u-ico,.h-service:focus-within .h-card-more .u-ico{transform:translateX(3px);}

/* =====================================================================================
   4. ROUTES
   ===================================================================================== */
.h-search{flex:0 1 340px;min-width:min(100%,260px);}
.h-routes{display:grid;gap:12px;grid-template-columns:1fr;}
@media(min-width:560px){ .h-routes{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(min-width:960px){ .h-routes{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;} }
.h-route{padding:16px;gap:12px;}
.h-route[hidden]{display:none;}
.h-route__top{display:flex;align-items:center;gap:12px;min-width:0;}
.h-route__cc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--u-r-lg);background:var(--u-brand-50);border:1px solid var(--u-brand-100);color:var(--u-text-brand);font:600 13px/1 var(--u-mono);letter-spacing:.04em;transition:transform .3s var(--u-ease);}
.h-route:hover .h-route__cc{transform:scale(1.06) rotate(-3deg);}
.h-route__name{font:600 16px/24px var(--u-font);}
.h-route__name a{text-decoration:none;}
.h-route__meta{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--u-text-3);}
.h-route__meta .u-ico{width:14px;height:14px;}
.h-route__actions{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--u-border);}
.h-route__actions a{display:inline-flex;align-items:center;gap:4px;min-height:28px;font:600 14px/20px var(--u-font);color:var(--u-text-2)!important;text-decoration:none;}
.h-route__actions a:last-child{color:var(--u-text-brand)!important;}
.h-route__actions a:hover{color:var(--u-text-brand)!important;}
.h-route__actions .u-ico{width:16px;height:16px;}
.h-empty{margin-top:16px!important;padding:24px;border:1px dashed var(--u-border-strong);border-radius:var(--u-r-xl);text-align:center;color:var(--u-text-2);}

/* =====================================================================================
   5. PROCESS
   ===================================================================================== */
.h-process{display:grid;gap:40px;}
@media(min-width:1024px){ .h-process{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;} .h-process__intro{position:sticky;top:calc(var(--u-header-h) + 32px);align-self:start;} }
.h-process__intro .u-btn{margin-top:32px;}
.h-steps{position:relative;display:grid;gap:8px;counter-reset:s;}
.h-step{position:relative;display:flex;gap:16px;padding:0 0 24px;}
.h-step:not(:last-child)::before{content:"";position:absolute;left:23px;top:52px;bottom:0;width:2px;border-radius:2px;background:var(--u-border);}
.h-step__icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:var(--u-r-full);background:var(--u-brand-50);color:var(--u-text-brand);box-shadow:0 0 0 6px var(--u-bg);transition:transform .3s var(--u-ease),background-color .2s,color .2s;}
.h-step__icon .u-ico{width:22px;height:22px;}
.h-step:hover .h-step__icon{transform:scale(1.08);background:var(--u-btn-brand);color:#fff;}
.h-step__body{padding:4px 0 0;flex:1;min-width:0;}
.h-step__no{font:600 13px/18px var(--u-font);color:var(--u-text-brand);}
.h-step__title{margin-top:2px!important;font:600 18px/28px var(--u-font);}
.h-step .h-card-text{margin-top:4px;}

/* =====================================================================================
   6. TRACKING (dark)
   ===================================================================================== */
.h-section--dark .h-title{color:#fff;}
.h-checklist{display:grid;gap:12px;margin-top:28px!important;}
.h-checklist li{display:flex;align-items:center;gap:12px;color:var(--u-gray-300);}
.h-checklist .u-ico{width:28px;height:28px;padding:6px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;}
.h-mock{margin:0;padding:24px;border-radius:var(--u-r-2xl);background:linear-gradient(180deg,var(--u-gray-900),var(--u-gray-950));border:1px solid var(--u-gray-800);box-shadow:0 24px 48px -12px rgba(0,0,0,.5);}
.h-mock__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:20px;margin-bottom:8px;border-bottom:1px solid var(--u-gray-800);}
.h-mock__code{display:inline-flex;align-items:center;gap:8px;font:600 15px/20px var(--u-mono);color:var(--u-gray-300);}
.h-mock__code .u-ico{width:18px;height:18px;}
.h-mock .u-badge{background:rgba(255,255,255,.06);border-color:var(--u-gray-700);color:var(--u-gray-300);}
.h-timeline li{position:relative;display:flex;gap:16px;padding:14px 0;}
.h-timeline li:not(:last-child)::before{content:"";position:absolute;left:13px;top:42px;bottom:-14px;width:2px;background:var(--u-gray-800);}
.h-timeline li.is-done:not(:last-child)::before{background:var(--u-success-600);transform-origin:top;}
.h-timeline__dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;border:2px solid var(--u-gray-700);background:var(--u-gray-900);}
.h-timeline__dot .u-ico{width:14px;height:14px;color:#fff;stroke-width:2.5;}
.h-timeline li.is-done .h-timeline__dot{background:var(--u-success-600);border-color:var(--u-success-600);}
.h-timeline li.is-active .h-timeline__dot{border-color:var(--u-accent);background:rgba(255,193,7,.15);}
.h-timeline li.is-active .h-timeline__dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--u-accent);}
.h-timeline div{display:flex;flex-direction:column;gap:2px;}
.h-timeline strong{font:600 15px/22px var(--u-font);color:#fff;}
.h-timeline li:not(.is-done):not(.is-active) strong{color:var(--u-gray-400);}
.h-timeline span{font-size:13px;line-height:18px;color:var(--u-gray-400);}
@media (prefers-reduced-motion: no-preference){
  .h-timeline li.is-active .h-timeline__dot{animation:hPulse 2.4s ease-out infinite;}
  html.u-js .h-mock[data-reveal] .h-timeline li.is-done:not(:last-child)::before{transform:scaleY(0);transition:transform .8s var(--u-ease) .3s;}
  html.u-js .h-mock[data-reveal].is-in .h-timeline li.is-done:not(:last-child)::before{transform:scaleY(1);}
}
@keyframes hPulse{0%{box-shadow:0 0 0 0 rgba(255,193,7,.45);}100%{box-shadow:0 0 0 12px rgba(255,193,7,0);}}

/* =====================================================================================
   7. BENEFITS
   ===================================================================================== */
.h-benefits{display:grid;gap:16px;grid-template-columns:1fr;}
@media(min-width:640px){ .h-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;} }
@media(min-width:1024px){ .h-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;} }
.h-benefit{padding:24px;}
.h-benefit .u-ficon{margin-bottom:20px;}
.h-benefit--cta{display:flex;flex-direction:column;justify-content:center;padding:24px;border-radius:var(--u-r-xl);background:var(--u-brand-50);border:1px solid var(--u-brand-100);}
.h-benefit--cta .h-card-text{color:var(--u-text);}
.h-benefit__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}

/* =====================================================================================
   8. TOOLS
   ===================================================================================== */
.h-tools{display:grid;gap:12px;grid-template-columns:1fr;}
@media(min-width:640px){ .h-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;} }
@media(min-width:1024px){ .h-tools{grid-template-columns:repeat(4,minmax(0,1fr));} }
.h-tool{flex-direction:row;align-items:flex-start;gap:16px;padding:20px;}
.h-tool > div{flex:1;min-width:0;}
.h-tool__title{font:600 16px/24px var(--u-font);}
.h-tool__title a{text-decoration:none;}
.h-tool .h-card-text{margin-top:4px;font-size:14px;line-height:20px;}
.h-tool__arrow{width:20px;height:20px;color:var(--u-text-3);transition:transform .25s var(--u-ease),color .2s;}
.h-tool:hover .h-tool__arrow{transform:translateX(4px);color:var(--u-text-brand);}

/* =====================================================================================
   9. REVIEWS
   ===================================================================================== */
.h-reviews{display:grid;gap:16px;}
@media(min-width:768px){ .h-reviews{grid-template-columns:repeat(2,1fr);} }
@media(min-width:1024px){ .h-reviews{grid-template-columns:repeat(3,1fr);gap:24px;} }
.h-review{padding:24px;gap:16px;}
.h-review__stars{display:flex;gap:2px;color:var(--u-gray-300);font-size:18px;}
.h-review__stars .is-on{color:var(--u-accent);}
.h-review__text{margin:0;font-size:16px;line-height:24px;color:var(--u-text);}
.h-review__who{display:flex;align-items:center;gap:12px;margin-top:auto;}
.h-review__who img,.h-review__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;}
.h-review__avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--u-brand-50);color:var(--u-text-brand);font-weight:600;}
.h-review__who div{display:flex;flex-direction:column;font-size:14px;line-height:20px;}
.h-review__who span{color:var(--u-text-3);}

/* =====================================================================================
   10. COMPANY (E-E-A-T)
   ===================================================================================== */
.h-reviewed{display:flex;align-items:center;gap:8px;margin-top:20px!important;font-size:14px;line-height:20px;color:var(--u-text-2);}
.h-reviewed .u-ico{width:18px;height:18px;color:var(--u-success-600);}
.h-company{padding:8px 24px;}
.h-company__row{display:grid;gap:6px;padding:16px 0;border-bottom:1px solid var(--u-border);}
.h-company__row:last-child{border-bottom:0;}
@media(min-width:560px){ .h-company__row{grid-template-columns:200px 1fr;align-items:center;gap:16px;} }
.h-company__row dt{display:flex;align-items:center;gap:12px;font:500 14px/20px var(--u-font);color:var(--u-text-3);}
.h-company__row dd{font:600 15px/22px var(--u-font);color:var(--u-text);overflow-wrap:anywhere;}
.h-company__row dd a{text-decoration:none;}
.h-company__row dd a:hover{color:var(--u-text-brand);}

/* =====================================================================================
   11. POSTS
   ===================================================================================== */
.h-posts{display:grid;gap:24px;}
@media(min-width:640px){ .h-posts{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(min-width:1024px){ .h-posts{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;} }
.h-post{overflow:hidden;}
.h-post__media{aspect-ratio:16/9;background:var(--u-bg-muted);overflow:hidden;}
.h-post__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--u-ease);}
.h-post:hover .h-post__media img{transform:scale(1.04);}
.h-post__ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--u-text-brand);background:linear-gradient(135deg,var(--u-brand-50),var(--u-bg-muted));}
.h-post__ph .u-ico{width:40px;height:40px;opacity:.7;}
.h-post__body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 24px 24px;flex:1;}
.h-post .h-card-title{font-size:18px;line-height:28px;}
.h-post .h-card-title a{text-decoration:none;}
.h-post .h-card-text{margin-top:0;}
.h-post__date{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-size:14px;line-height:20px;color:var(--u-text-3);}
.h-post__date .u-ico{width:16px;height:16px;}

/* =====================================================================================
   12. FAQ
   ===================================================================================== */
.h-faq{display:grid;gap:12px;}
.h-faq__item{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;}
.h-faq__q{font:600 17px/26px var(--u-font);}
.h-faq__q a{text-decoration:none;}
.h-faq__item .h-card-text{margin-top:4px;font-size:15px;line-height:22px;}
.h-faq__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;border:1px solid var(--u-border);color:var(--u-text-3);transition:transform .25s var(--u-ease),color .2s,border-color .2s,background-color .2s;}
.h-faq__icon .u-ico{width:16px;height:16px;}
.h-faq__item:hover .h-faq__icon{transform:translateX(3px);color:#fff;background:var(--u-btn-brand);border-color:var(--u-btn-brand);}
.h-faq-help{margin-top:32px;padding:24px;align-items:flex-start;gap:0;}
.h-faq-help .u-ficon{margin-bottom:16px;}
.h-faq-help .u-btn{margin-top:20px;}

/* =====================================================================================
   13. CTA
   ===================================================================================== */
.h-cta{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:32px;padding:40px 24px;border-radius:var(--u-r-2xl);background:var(--u-btn-brand);color:#fff;isolation:isolate;}
@media(min-width:1024px){ .h-cta{flex-direction:row;align-items:center;justify-content:space-between;padding:64px;} }
.h-cta::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 40%),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;}
.h-cta__title{font:600 30px/38px var(--u-font);letter-spacing:-.02em;color:#fff;}
@media(min-width:768px){ .h-cta__title{font-size:36px;line-height:44px;} }
.h-cta__copy p{margin-top:12px!important;font-size:18px;line-height:28px;color:rgba(255,255,255,.92);max-width:52ch;}
.h-cta__actions{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0;}
@media(max-width:479px){ .h-cta__actions .u-btn{flex:1 1 100%;} }

@media(max-width:479px){
  .h-badge-group{font-size:13px;line-height:18px;}
  .h-tab{font-size:14px;padding:8px;gap:6px;}
  .h-tab .u-ico{display:none;}
}
/* v1.47.0 - thẻ tuyến: cờ tròn thay ô mã quốc gia */
.h-route__cc.has-flag{background:none;border:0;}
.h-route__cc.has-flag .u-flag{width:40px;height:40px;}
