/* HNSCHOOL banner slider overrides - 2026-04-04 */
.home-banner-frame,
.home-banner-frame-js{
  position:relative;
  overflow:hidden;
}

.home-banner-track.home-banner-track-js,
.home-banner-track-js{
  width:100% !important;
  display:flex !important;
  gap:0 !important;
  animation:none !important;
  transition:transform .38s ease-out !important;
  transform:translate3d(0,0,0);
  will-change:transform;
}

.home-banner-slide,
.home-banner-track-js .home-banner-slide{
  min-width:100% !important;
  width:100% !important;
  flex:0 0 100% !important;
}

.home-banner-slide > a{
  display:block;
  position:relative;
  height:clamp(320px, 36vw, 440px) !important;
  overflow:hidden;
  background:#f3f4f6;
}

.home-banner-slide > a > img,
.home-banner-slide img{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.banner-btn{
  z-index:30 !important;
  pointer-events:auto !important;
  user-select:none;
  -webkit-user-select:none;
  touch-action:manipulation;
}

.home-banner-dots,
.home-banner-dot{
  z-index:30;
}

.home-banner-overlay{
  pointer-events:none;
}

@media (max-width: 991px){
  .home-banner-slide > a{
    height:340px !important;
  }
}

@media (max-width: 860px){
  .home-banner-slide > a{
    height:240px !important;
  }
}


/* Wide header banner from tblConfig.LogoHeader */
.brand-row.brand-row-search{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

.brand-row-main{
  width:100%;
  display:grid;
  grid-template-columns:minmax(120px,170px) minmax(280px,1fr) minmax(240px,360px);
  align-items:center;
  gap:20px;
}

.brand-header-banner-wide{
  width:100%;
  margin:0 0 16px 0;
  border-radius:0 !important;
  overflow:visible;
  box-shadow:none;
  background:transparent;
}

.brand-header-banner-wide img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  border-radius:0 !important;
}

@media (max-width: 1100px){
  .brand-row-main{
    grid-template-columns:140px minmax(260px,1fr);
  }

  .brand-row-main .brand-meta{
    grid-column:1 / -1;
    text-align:left !important;
  }
}

@media (max-width: 767px){
  .brand-header-banner-wide{
    margin-bottom:12px;
    border-radius:0 !important;
  }

  .brand-header-banner-wide img{
    width:100%;
    height:auto;
    max-width:100%;
  }

  .brand-row-main{
    grid-template-columns:1fr;
    gap:14px;
  }

  .brand-row-main .brand-logo-wrap,
  .brand-row-main .brand-meta{
    text-align:center !important;
  }
}


/* Compact top quick-connect strip: save vertical space */
.topbar.topbar-upgraded.header-language-zone{
  box-shadow:none !important;
}

.topbar-upgraded-inner{
  gap:10px !important;
  padding:4px 0 !important;
}

.topbar-contact-card{
  gap:10px !important;
  padding:2px 0 !important;
  min-width:0;
}

.topbar-contact-company{
  gap:8px !important;
}

.topbar-contact-icon{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  font-size:13px !important;
}

.topbar-contact-meta{
  gap:0 !important;
}

.topbar-contact-label{
  font-size:10px !important;
  line-height:1.05 !important;
  letter-spacing:.04em !important;
  margin:0 !important;
}

.topbar-contact-name{
  font-size:14px !important;
  line-height:1.12 !important;
  margin:0 !important;
}

.topbar-contact-actions{
  gap:8px !important;
}

.topbar-action{
  min-height:38px !important;
  padding:5px 10px !important;
  gap:8px !important;
}

.topbar-action-icon{
  width:26px !important;
  height:26px !important;
  flex:0 0 26px !important;
  font-size:12px !important;
}

.topbar-action-text{
  line-height:1.05 !important;
}

.topbar-action-text small{
  font-size:9px !important;
  letter-spacing:.04em !important;
  margin:0 !important;
}

.topbar-action-text strong{
  font-size:13px !important;
  line-height:1.05 !important;
}

.topbar-right-tools{
  gap:6px !important;
}

.topbar-right-tools.header-lang{
  padding:4px 6px !important;
  border-radius:10px !important;
}

.topbar-mini-link{
  font-size:12px !important;
  line-height:1.1 !important;
}

.language-switch-link,
.header-lang .btn-ghost{
  min-height:auto !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  line-height:1.1 !important;
  font-size:12px !important;
}

@media (max-width: 991px){
  .topbar-upgraded-inner{
    gap:6px !important;
    padding:4px 0 !important;
  }

  .topbar-contact-card{
    gap:6px !important;
  }

  .topbar-right-tools{
    width:100%;
    justify-content:flex-start !important;
  }
}

@media (max-width: 640px){
  .topbar-contact-company{
    align-items:flex-start;
  }

  .topbar-contact-name{
    font-size:13px !important;
  }

  .topbar-action{
    width:auto !important;
    min-height:34px !important;
    padding:4px 8px !important;
    border-radius:12px !important;
  }

  .topbar-action-text strong{
    font-size:12px !important;
  }

  .topbar-mini-link,
  .language-switch-link,
  .header-lang .btn-ghost{
    font-size:11px !important;
  }
}


/* Topbar final compact cleanup: remove default company text area and tighten layout */
.topbar-contact-card-compact{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:auto !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  padding:0 !important;
}

.topbar-contact-card-compact .topbar-contact-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  width:auto !important;
}

.topbar-upgraded-inner{
  align-items:center !important;
  justify-content:space-between !important;
}

.topbar-right-tools.header-lang{
  margin-left:auto !important;
}

.topbar-contact-company,
.topbar-contact-meta,
.topbar-contact-label,
.topbar-contact-name,
.topbar-contact-icon{
  display:none !important;
}

@media (max-width: 991px){
  .topbar-contact-card-compact{
    width:100% !important;
  }

  .topbar-contact-card-compact .topbar-contact-actions{
    width:100% !important;
  }
}


/* 2026-04-04: tighten topbar + LogoHeader banner vertical whitespace */
.topbar.topbar-upgraded.header-language-zone{
  margin:0 !important;
  border-bottom:0 !important;
}

.topbar.topbar-upgraded.header-language-zone,
.topbar.topbar-upgraded.header-language-zone .site-shell,
.topbar.topbar-upgraded.header-language-zone .topbar-contact-card,
.topbar.topbar-upgraded.header-language-zone .topbar-contact-actions,
.topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.topbar.topbar-upgraded.header-language-zone .topbar-upgraded-inner{
  gap:6px !important;
  min-height:0 !important;
  padding-top:1px !important;
  padding-bottom:1px !important;
}

.topbar.topbar-upgraded.header-language-zone .topbar-contact-card-compact{
  min-height:0 !important;
}

.topbar.topbar-upgraded.header-language-zone .topbar-action{
  min-height:32px !important;
  padding-top:3px !important;
  padding-bottom:3px !important;
}

.topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang,
.topbar.topbar-upgraded.header-language-zone .language-switch-link,
.topbar.topbar-upgraded.header-language-zone .header-lang .btn-ghost,
.topbar.topbar-upgraded.header-language-zone .topbar-mini-link{
  min-height:0 !important;
  padding-top:3px !important;
  padding-bottom:3px !important;
}

.header-top-strip,
.brand-row.brand-row-search.header-top-strip{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  gap:8px !important;
}

.brand-header-banner-wide{
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
}

.brand-header-banner-wide img{
  margin:0 !important;
}

.brand-row-main{
  gap:10px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.brand-search-wrap,
.brand-logo-wrap,
.brand-meta,
.brand-search-form,
.brand-search-input-wrap{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.brand-search-form{
  gap:2px !important;
}

.brand-search-note{
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
}

@media (max-width: 767px){
  .topbar.topbar-upgraded.header-language-zone .topbar-upgraded-inner{
    gap:4px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .topbar.topbar-upgraded.header-language-zone .topbar-contact-card,
  .topbar.topbar-upgraded.header-language-zone .topbar-contact-actions,
  .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang{
    gap:4px !important;
  }

  .header-top-strip,
  .brand-row.brand-row-search.header-top-strip{
    gap:6px !important;
  }

  .brand-row-main{
    gap:8px !important;
  }
}


/* 2026-04-04: mini search area + remove right-side TenCongTy block */
.brand-row-main{
  grid-template-columns:minmax(96px,130px) minmax(220px,420px) !important;
  justify-content:space-between !important;
  align-items:center !important;
}

.brand-meta{
  display:none !important;
}

.brand-logo-wrap{
  display:flex;
  align-items:center;
}

.brand-logo-link img{
  max-height:72px;
  width:auto;
}

.brand-search-wrap{
  width:100%;
  max-width:420px;
  justify-self:end;
}

.brand-search-form{
  width:100%;
}

.brand-search-input-wrap{
  display:flex;
  align-items:center;
  width:100%;
  min-height:38px;
  border:1px solid #d6dbe3;
  border-radius:999px;
  background:#fff;
  overflow:hidden;
  box-shadow:none !important;
}

.brand-search-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  font-size:13px;
}

.brand-search-input-wrap input{
  flex:1 1 auto;
  min-width:0;
  height:36px;
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  padding:6px 8px 6px 0;
  font-size:13px;
  line-height:1.2;
  background:transparent;
}

.brand-search-input-wrap button{
  flex:0 0 auto;
  border:0 !important;
  border-left:1px solid #e5e7eb !important;
  min-width:42px;
  height:36px;
  padding:0 12px;
  font-size:0 !important;
  line-height:1;
  background:#0f62fe;
  position:relative;
  overflow:hidden;
}

.brand-search-input-wrap button::before{
  content:"\f002";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:13px;
  color:#fff;
}

.brand-search-note{
  display:none !important;
}

.header-top-strip .brand-row-main{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

@media (max-width: 1100px){
  .brand-row-main{
    grid-template-columns:minmax(90px,120px) minmax(220px,1fr) !important;
  }

  .brand-search-wrap{
    max-width:380px;
  }
}

@media (max-width: 767px){
  .brand-row-main{
    grid-template-columns:1fr !important;
    justify-items:center;
    gap:8px !important;
  }

  .brand-logo-link img{
    max-height:58px;
  }

  .brand-search-wrap{
    max-width:300px;
    width:100%;
    justify-self:center;
  }

  .brand-search-input-wrap{
    min-height:34px;
  }

  .brand-search-icon{
    width:30px;
    font-size:12px;
  }

  .brand-search-input-wrap input{
    height:32px;
    font-size:12px;
  }

  .brand-search-input-wrap button{
    min-width:38px;
    height:32px;
    padding:0 10px;
  }
}


/* 2026-04-04 enterprise compact search refinement */
.header-top-strip,
.brand-row.brand-row-search.header-top-strip{
  gap:4px !important;
}

.brand-row-main{
  grid-template-columns:minmax(88px,118px) minmax(200px,360px) !important;
  gap:6px !important;
  min-height:0 !important;
}

.brand-logo-link img{
  max-height:56px !important;
}

.brand-search-wrap{
  max-width:360px !important;
}

.brand-search-form{
  gap:0 !important;
}

.brand-search-input-wrap{
  min-height:34px !important;
  border-radius:999px !important;
  border:1px solid #cfd8e3 !important;
}

.brand-search-icon{
  width:30px !important;
  font-size:12px !important;
}

.brand-search-input-wrap input{
  height:32px !important;
  padding:0 8px 0 0 !important;
  font-size:12px !important;
  line-height:32px !important;
}

.brand-search-input-wrap input::placeholder{
  line-height:32px !important;
}

.brand-search-input-wrap button{
  min-width:36px !important;
  width:36px !important;
  height:32px !important;
  padding:0 !important;
}

.brand-search-input-wrap button::before{
  font-size:12px !important;
}

@media (max-width: 767px){
  .header-top-strip,
  .brand-row.brand-row-search.header-top-strip{
    gap:3px !important;
  }

  .brand-row-main{
    gap:5px !important;
  }

  .brand-logo-link img{
    max-height:48px !important;
  }

  .brand-search-wrap{
    max-width:280px !important;
  }

  .brand-search-input-wrap{
    min-height:32px !important;
  }

  .brand-search-icon{
    width:28px !important;
    font-size:11px !important;
  }

  .brand-search-input-wrap input{
    height:30px !important;
    font-size:12px !important;
    line-height:30px !important;
  }

  .brand-search-input-wrap input::placeholder{
    line-height:30px !important;
  }

  .brand-search-input-wrap button{
    min-width:34px !important;
    width:34px !important;
    height:30px !important;
  }
}


/* ===== FINAL SEARCH ICON POLISH 04042026 ===== */
.brand-search-wrap{
  max-width: 320px !important;
}

.brand-search-form{
  margin: 0 !important;
}

.brand-search-input-wrap{
  min-height: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  border: 1px solid #c8d2df !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.06) !important;
  background: #ffffff !important;
}

.brand-search-icon{
  width: 32px !important;
  min-width: 32px !important;
  color: #64748b !important;
  font-size: 12px !important;
  border-right: 1px solid #eef2f7 !important;
}

.brand-search-input-wrap input{
  height: 30px !important;
  padding: 0 10px 0 10px !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 30px !important;
  text-align: left !important;
}

.brand-search-input-wrap input::placeholder{
  font-size: 12px !important;
  line-height: 30px !important;
  color: #94a3b8 !important;
  text-align: left !important;
}

.brand-search-input-wrap button{
  min-width: 34px !important;
  width: 34px !important;
  height: 30px !important;
  padding: 0 !important;
  border-left: 1px solid #eef2f7 !important;
  background: linear-gradient(135deg,#1d4ed8,#0ea5e9) !important;
}

.brand-search-input-wrap button::before{
  font-size: 12px !important;
}

.header-top-strip .brand-row-main,
.brand-row.brand-row-search.header-top-strip,
.brand-row.brand-row-search,
.brand-search-wrap,
.brand-search-form{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 767px){
  .brand-search-wrap{
    max-width: 240px !important;
  }

  .brand-search-input-wrap{
    min-height: 30px !important;
    height: 30px !important;
  }

  .brand-search-icon{
    width: 30px !important;
    min-width: 30px !important;
    font-size: 11px !important;
  }

  .brand-search-input-wrap input{
    height: 28px !important;
    line-height: 28px !important;
    font-size: 11px !important;
    padding: 0 8px !important;
  }

  .brand-search-input-wrap input::placeholder{
    line-height: 28px !important;
    font-size: 11px !important;
  }

  .brand-search-input-wrap button{
    min-width: 32px !important;
    width: 32px !important;
    height: 28px !important;
  }
}


/* ===== 2026-04-04 inner pages LogoHeader above HOME/search ===== */
.brand-header-banner-wide.inner-header-banner-wide{
  width:100% !important;
  margin:0 0 4px 0 !important;
  padding:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.brand-header-banner-wide.inner-header-banner-wide img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  border-radius:0 !important;
  object-fit:contain !important;
}

.brand-row-main{
  grid-template-columns:minmax(120px,170px) minmax(220px,360px) !important;
  align-items:center !important;
}

.brand-home-button-wrap{
  display:flex !important;
  align-items:center !important;
}

.brand-home-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:34px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(14,165,233,.18) !important;
  background:linear-gradient(135deg,#0f2d5c 0%,#1d4ed8 58%,#38bdf8 100%) !important;
  color:#ffffff !important;
  text-decoration:none !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.3px !important;
  box-shadow:0 8px 22px rgba(29,78,216,.18) !important;
  white-space:nowrap !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.brand-home-button:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.03) !important;
  box-shadow:0 10px 24px rgba(29,78,216,.24) !important;
}

.brand-home-button-icon{
  width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.16) !important;
  font-size:10px !important;
  flex:0 0 auto !important;
}

.brand-home-button-text{
  display:inline-block !important;
  line-height:1 !important;
}

@media (max-width: 767px){
  .brand-row-main{
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }

  .brand-home-button{
    min-height:32px !important;
    padding:0 12px !important;
    font-size:11px !important;
    gap:6px !important;
  }

  .brand-home-button-icon{
    width:16px !important;
    height:16px !important;
    font-size:9px !important;
  }
}


/* ===== 2026-04-15 menu home first + inline datetime ===== */
.brand-row-main{
  grid-template-columns:minmax(260px,420px) minmax(240px,1fr) !important;
  gap:14px !important;
}

.brand-datetime-wrap{
  display:flex !important;
  align-items:center !important;
}

.brand-datetime-card{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.brand-datetime-inline,
.brand-datetime-time{
  display:block !important;
  margin:0 !important;
  color:var(--primary-color,#0f2d5c) !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:.2px !important;
  white-space:nowrap !important;
  text-shadow:0 1px 0 rgba(255,255,255,.72), 0 1px 10px rgba(15,45,92,.08) !important;
}

.brand-datetime-date,
.brand-datetime-icon,
.brand-datetime-content,
.brand-datetime-label{
  display:none !important;
}

.menu-home-item > a,
.menu-home-link{
  background:linear-gradient(135deg,#0f2d5c 0%,#1d4ed8 58%,#38bdf8 100%) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(29,78,216,.18) !important;
}

.menu-home-item > a:hover,
.menu-home-link:hover{
  filter:brightness(1.04) !important;
  transform:translateY(-1px) !important;
}

.menu-home-item .menu-icon-badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
}

@media (max-width: 860px){
  .brand-row-main{
    grid-template-columns:1fr !important;
    justify-items:stretch !important;
  }

  .brand-datetime-wrap{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .brand-datetime-card{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
  }

  .brand-datetime-inline,
  .brand-datetime-time{
    width:100% !important;
    font-size:13px !important;
    text-align:center !important;
  }
}

@media (max-width: 520px){
  .brand-datetime-inline,
  .brand-datetime-time{
    font-size:12px !important;
    letter-spacing:0 !important;
  }
}


/* 2026-04-15: tighten public left sidebar menu spacing + pull closer to left edge */
.home-sidebar{
  padding:10px 10px 12px 8px !important;
}

.home-sidebar .menu-root{
  padding:4px 4px 8px 2px !important;
  margin:0 !important;
}

.home-sidebar .menu-root li,
.home-sidebar .menu-sub li{
  margin:3px 0 !important;
}

.home-sidebar .menu-root > li > a,
.home-sidebar .menu-sub > li > a{
  padding:8px 10px !important;
  gap:8px !important;
  line-height:1.15 !important;
}

.home-sidebar .menu-sub{
  padding:4px 0 0 8px !important;
  margin-top:2px !important;
}

.home-sidebar .menu-sub li a{
  padding:7px 10px !important;
}

@media (max-width: 860px){
  .home-sidebar{
    padding:8px 8px 10px 6px !important;
  }

  .home-sidebar .menu-root{
    padding:2px 2px 6px 0 !important;
  }

  .home-sidebar .menu-root li,
  .home-sidebar .menu-sub li{
    margin:2px 0 !important;
  }

  .home-sidebar .menu-root > li > a,
  .home-sidebar .menu-sub > li > a{
    padding:7px 9px !important;
    border-radius:10px !important;
    line-height:1.12 !important;
  }

  .home-sidebar .menu-sub{
    padding:3px 0 0 6px !important;
    margin-top:1px !important;
  }
}


/* 2026-04-15: mobile left sidebar closer to top menu + click to expand */
.mobile-left-menu-toggle{
  display:none;
}

@media (max-width: 860px){
  .page-with-sidebars,
  .page-with-sidebars.has-left.has-right,
  .page-with-sidebars.has-left.no-right,
  .page-with-sidebars.no-left.has-right,
  .page-with-sidebars.no-left.no-right{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:10px !important;
  }

  .mobile-left-menu-toggle{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    width:100%;
    margin:2px 0 0 0;
    padding:10px 14px;
    border:1px solid #d7e8f7;
    border-radius:14px;
    background:linear-gradient(90deg,#eef7ff 0%,#f8fbff 100%);
    color:#0f3d74;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:0 8px 20px rgba(15,61,116,.08);
  }

  .mobile-left-menu-toggle__icon{
    position:relative;
    width:16px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    box-shadow:0 -5px 0 currentColor, 0 5px 0 currentColor;
    flex:0 0 auto;
  }

  .mobile-left-menu-toggle__text{
    line-height:1;
    font-size:13px;
  }

  .sidebar-left.home-sidebar{
    order:2;
    margin-top:-4px !important;
    display:none !important;
    width:100%;
  }

  .sidebar-left.home-sidebar.is-open{
    display:flex !important;
  }

  .content-center{
    order:3;
  }

  .sidebar-right.home-sidebar{
    order:4;
  }

  .mobile-left-menu-toggle.is-open{
    border-color:#9fc5ec;
    background:linear-gradient(90deg,#dfefff 0%,#eff6ff 100%);
  }
}

@media (min-width: 861px){
  .mobile-left-menu-toggle{
    display:none !important;
  }
}

/* ===== 10/07/2026 - Main horizontal menu align with 1440px banner width =====
   Yêu cầu: Menu ngang dóng thẳng mép trái/phải theo banner, chữ IN HOA,
   font thống nhất, icon sát chữ, padding gọn. Nếu nhiều mục vượt 1440px thì tự xuống dòng.
   Scope: Chỉ menu ngang chính .main-menu-wrap, không ảnh hưởng menu trái/phải/dưới.
*/
@media (min-width:861px){
  .main-menu-wrap{
    width:100% !important;
  }

  .main-menu-wrap .main-menu-shell,
  .main-menu-wrap > .site-shell.main-menu-shell{
    width:100% !important;
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
  }

  .main-menu-wrap .primary-menu-host{
    width:100% !important;
    max-width:100% !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .main-menu-wrap .primary-menu-host > .menu-root,
  .main-menu-wrap .site-shell > .primary-menu-host > .menu-root{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;       /* Nhiều mục vượt 1440px thì xuống dòng */
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:2px 2px !important;
    list-style:none !important;
  }

  .main-menu-wrap .menu-root > li{
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  .main-menu-wrap .menu-root > li > a,
  .main-menu-wrap .menu-home-link{
    min-height:40px !important;
    height:40px !important;
    padding:0 8px !important;
    border-radius:5px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  .main-menu-wrap .menu-link-inner{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    min-width:0 !important;
  }

  .main-menu-wrap .menu-label,
  .main-menu-wrap .menu-root > li > a span{
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  .main-menu-wrap .menu-icon-badge{
    width:16px !important;
    min-width:16px !important;
    height:16px !important;
    flex:0 0 16px !important;
    margin:0 !important;
    padding:0 !important;
    font-size:8px !important;
    box-shadow:none !important;
  }

  .main-menu-wrap .menu-icon-badge i{
    font-size:8px !important;
    line-height:1 !important;
  }

  .main-menu-wrap .menu-arrow{
    margin-left:1px !important;
    font-size:9px !important;
    line-height:1 !important;
    flex:0 0 auto !important;
  }

  .main-menu-wrap .menu-sub{
    min-width:235px !important;
  }

  .main-menu-wrap .menu-sub li > a{
    height:auto !important;
    min-height:34px !important;
    justify-content:flex-start !important;
    padding:8px 10px !important;
    gap:5px !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    text-transform:uppercase !important;
  }
}

@media (min-width:861px) and (max-width:1440px){
  .main-menu-wrap .main-menu-shell,
  .main-menu-wrap > .site-shell.main-menu-shell{
    padding-left:6px !important;
    padding-right:6px !important;
  }

  .main-menu-wrap .menu-root > li > a,
  .main-menu-wrap .menu-home-link{
    padding-left:6px !important;
    padding-right:6px !important;
    font-size:11.5px !important;
  }

  .main-menu-wrap .menu-label,
  .main-menu-wrap .menu-root > li > a span{
    font-size:11.5px !important;
  }
}


/* ===== 10/07/2026 - FIX MENU WIDTH BY REAL HEADER BANNER 1280px =====
   Scope: ONLY horizontal top menu (.main-menu-wrap). Do not affect Default/Education/News home body layouts.
   Request: menu width equals uploaded header banner (1280px), align left/right edges, wrap if overflow,
   uppercase text, consistent font, icon close to label, avoid Vietnamese accents clipping.
*/
@media (min-width:861px){
  .main-menu-wrap{
    width:100% !important;
    overflow:visible !important;
  }

  .main-menu-wrap .main-menu-shell,
  .main-menu-wrap > .site-shell.main-menu-shell{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    overflow:visible !important;
  }

  .main-menu-wrap .primary-menu-host{
    width:100% !important;
    max-width:100% !important;
    flex:1 1 100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .main-menu-wrap .primary-menu-host > .menu-root,
  .main-menu-wrap .site-shell > .primary-menu-host > .menu-root{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:1px !important;
    list-style:none !important;
    overflow:visible !important;
  }

  .main-menu-wrap .menu-root > li{
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .main-menu-wrap .menu-root > li > a,
  .main-menu-wrap .menu-home-link{
    box-sizing:border-box !important;
    min-height:42px !important;
    height:auto !important;
    padding:9px 7px !important;
    border-radius:4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .main-menu-wrap .menu-link-inner{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .main-menu-wrap .menu-label,
  .main-menu-wrap .menu-root > li > a .menu-label{
    display:inline-block !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    overflow:visible !important;
    padding-top:1px !important;
    padding-bottom:1px !important;
  }

  .main-menu-wrap .menu-icon-badge{
    width:15px !important;
    min-width:15px !important;
    height:15px !important;
    flex:0 0 15px !important;
    margin:0 !important;
    padding:0 !important;
    font-size:8px !important;
    box-shadow:none !important;
  }

  .main-menu-wrap .menu-icon-badge i{
    font-size:8px !important;
    line-height:1 !important;
  }

  .main-menu-wrap .menu-arrow{
    margin-left:1px !important;
    font-size:9px !important;
    line-height:1 !important;
    flex:0 0 auto !important;
  }

  .main-menu-wrap .menu-sub{
    min-width:230px !important;
  }

  .main-menu-wrap .menu-sub li > a,
  .main-menu-wrap .menu-sub a{
    height:auto !important;
    min-height:36px !important;
    justify-content:flex-start !important;
    padding:9px 10px !important;
    gap:5px !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    text-transform:uppercase !important;
    overflow:visible !important;
  }
}

@media (min-width:861px) and (max-width:1280px){
  .main-menu-wrap .main-menu-shell,
  .main-menu-wrap > .site-shell.main-menu-shell{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .main-menu-wrap .menu-root > li > a,
  .main-menu-wrap .menu-home-link{
    padding-left:6px !important;
    padding-right:6px !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
  }

  .main-menu-wrap .menu-label,
  .main-menu-wrap .menu-root > li > a .menu-label{
    font-size:11.5px !important;
    line-height:1.35 !important;
  }
}

/* ===== 10/07/2026 - FIX WRAPPED MAIN MENU DROPDOWN Z-INDEX =====
   Khi menu ngang nhiều mục tự xuống dòng, submenu của dòng trên phải nổi lên trên dòng menu dưới.
   Scope: chỉ .main-menu-wrap, không ảnh hưởng layout Trang chủ Mặc định / Trang tin / Giáo dục.
*/
@media (min-width:861px){
  .main-menu-wrap,
  .main-menu-wrap .main-menu-shell,
  .main-menu-wrap .primary-menu-host,
  .main-menu-wrap .primary-menu-host > .menu-root,
  .main-menu-wrap .site-shell > .primary-menu-host > .menu-root{
    overflow:visible !important;
  }

  .main-menu-wrap{
    position:relative !important;
    z-index:1000 !important;
  }

  .main-menu-wrap .primary-menu-host > .menu-root,
  .main-menu-wrap .site-shell > .primary-menu-host > .menu-root{
    position:relative !important;
    z-index:1001 !important;
  }

  .main-menu-wrap .menu-root > li{
    position:relative !important;
    z-index:1 !important;
  }

  .main-menu-wrap .menu-root > li:hover,
  .main-menu-wrap .menu-root > li:focus-within{
    z-index:9999 !important;
  }

  .main-menu-wrap .menu-root > li > .menu-sub,
  .main-menu-wrap .menu-root > li > ul{
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    z-index:100000 !important;
    display:none;
    overflow:visible !important;
    pointer-events:auto !important;
  }

  .main-menu-wrap .menu-root > li:hover > .menu-sub,
  .main-menu-wrap .menu-root > li:focus-within > .menu-sub,
  .main-menu-wrap .menu-root > li:hover > ul,
  .main-menu-wrap .menu-root > li:focus-within > ul{
    display:block !important;
  }

  .main-menu-wrap .menu-sub,
  .main-menu-wrap .menu-sub li,
  .main-menu-wrap .menu-sub li > a{
    position:relative !important;
    z-index:100001 !important;
  }

  .main-menu-wrap .menu-sub li > ul{
    position:absolute !important;
    top:0 !important;
    left:100% !important;
    z-index:100002 !important;
  }
}

/* NEWS HOME 1280 ALIGN + EDUCATION NEWS SOFT BACKGROUND - 20260710
   Scoped only to body.home-layout-news, does not affect default or education layouts. */
body.home-layout-news{
  background:
    linear-gradient(rgba(255,255,255,.90), rgba(246,250,255,.92)),
    url('/images/news-education-page-bg.png') center top / cover fixed no-repeat !important;
  background-color:#eef7ff !important;
}

body.home-layout-news .topbar,
body.home-layout-news .header-language-zone,
body.home-layout-news .brand-row,
body.home-layout-news .header-top-strip,
body.home-layout-news .main-menu-wrap,
body.home-layout-news main.site-shell,
body.home-layout-news .social-seo-embed-zone,
body.home-layout-news .footer-main{
  width:min(1280px,100%) !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

body.home-layout-news .topbar > .site-shell,
body.home-layout-news .topbar-upgraded-inner,
body.home-layout-news .brand-row-main,
body.home-layout-news .main-menu-shell,
body.home-layout-news .footer-main > .site-shell,
body.home-layout-news .footer-cols{
  width:100% !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

body.home-layout-news .brand-header-banner-wide,
body.home-layout-news .inner-header-banner-wide{
  width:100% !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

body.home-layout-news .brand-header-banner-wide img,
body.home-layout-news .inner-header-banner-wide img{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

body.home-layout-news .main-menu-wrap{
  overflow:visible !important;
}

body.home-layout-news main.site-shell{
  background:rgba(255,255,255,.96);
  padding-left:0 !important;
  padding-right:0 !important;
}

body.home-layout-news .content-center.full-width,
body.home-layout-news .news-home-shell{
  width:100% !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  left:auto !important;
  transform:none !important;
  box-sizing:border-box !important;
}

body.home-layout-news .footer-main{
  overflow:hidden;
}

@media(max-width:1280px){
  body.home-layout-news .topbar,
  body.home-layout-news .header-language-zone,
  body.home-layout-news .brand-row,
  body.home-layout-news .header-top-strip,
  body.home-layout-news .main-menu-wrap,
  body.home-layout-news main.site-shell,
  body.home-layout-news .social-seo-embed-zone,
  body.home-layout-news .footer-main,
  body.home-layout-news .news-home-shell{
    width:100% !important;
    max-width:100% !important;
  }
}


/* NEWS HOME BLUE WAVE BACKGROUND - APPLIED FIX 20260710
   Force visible background image behind Kiểu Trang tin. */
html body.news-blue-bg-active,
body.home-layout-news.news-blue-bg-active{
  background-color:#058fe5 !important;
  background-image:linear-gradient(rgba(255,255,255,.04), rgba(255,255,255,.04)), url('/images/news-home-blue-wave-bg.png') !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
body.news-blue-bg-active main.site-shell{
  background:transparent !important;
}
body.news-blue-bg-active .content-center,
body.news-blue-bg-active .content-center.full-width{
  background:transparent !important;
}
body.news-blue-bg-active .news-home-shell{
  background:rgba(255,255,255,.82) !important;
  border-left:1px solid rgba(255,255,255,.35);
  border-right:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 28px rgba(0,68,120,.12);
}
body.news-blue-bg-active .news-home-box{
  background:rgba(255,255,255,.94) !important;
}
body.news-blue-bg-active .news-home-top-banner,
body.news-blue-bg-active .news-home-link-banners a,
body.news-blue-bg-active .news-home-ad-row a{
  background:rgba(234,243,255,.86) !important;
}
@media(max-width:900px){
  html body.news-blue-bg-active,
  body.home-layout-news.news-blue-bg-active{
    background-attachment:scroll !important;
  }
}

/* =========================================================
   FIX 2026-07-10 18:55 - NEWS HOME TOPBAR 1280 ALIGNMENT
   Mục tiêu: Khối Hotline / Kết nối ngay / Tiếng Việt - English
   căn đúng mép trái - mép phải theo banner 1280px của Trang chủ Kiểu Trang tin.
   ========================================================= */
body.home-layout-news.news-blue-bg-active,
body.home-layout-news{
  --news-shell-width:1280px;
}

body.home-layout-news .topbar.topbar-upgraded.header-language-zone{
  width:var(--news-shell-width) !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

body.home-layout-news .topbar.topbar-upgraded.header-language-zone > .site-shell.topbar-upgraded-inner{
  width:100% !important;
  max-width:var(--news-shell-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
}

body.home-layout-news .topbar.topbar-upgraded.header-language-zone .topbar-contact-card-compact{
  margin-left:0 !important;
  padding-left:0 !important;
  flex:0 1 auto !important;
}

body.home-layout-news .topbar.topbar-upgraded.header-language-zone .topbar-contact-actions{
  margin-left:0 !important;
  padding-left:0 !important;
  justify-content:flex-start !important;
}

body.home-layout-news .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang{
  margin-left:auto !important;
  margin-right:0 !important;
  padding-right:0 !important;
  justify-content:flex-end !important;
  flex:0 0 auto !important;
}

body.home-layout-news .header-top-strip.site-shell,
body.home-layout-news header.site-shell.brand-row.header-top-strip,
body.home-layout-news header.site-shell.brand-row-search.header-top-strip{
  width:var(--news-shell-width) !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

body.home-layout-news .brand-header-banner-wide,
body.home-layout-news .inner-header-banner-wide{
  width:100% !important;
  max-width:var(--news-shell-width) !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

body.home-layout-news .brand-header-banner-wide img,
body.home-layout-news .inner-header-banner-wide img{
  width:100% !important;
  max-width:100% !important;
  display:block !important;
}

body.home-layout-news .main-menu-wrap{
  width:var(--news-shell-width) !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.home-layout-news .main-menu-wrap > .site-shell.main-menu-shell{
  width:100% !important;
  max-width:var(--news-shell-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

@media(max-width:1280px){
  body.home-layout-news .topbar.topbar-upgraded.header-language-zone > .site-shell.topbar-upgraded-inner,
  body.home-layout-news .header-top-strip.site-shell,
  body.home-layout-news header.site-shell.brand-row.header-top-strip,
  body.home-layout-news header.site-shell.brand-row-search.header-top-strip,
  body.home-layout-news .main-menu-wrap > .site-shell.main-menu-shell{
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

@media(max-width:768px){
  body.home-layout-news .topbar.topbar-upgraded.header-language-zone > .site-shell.topbar-upgraded-inner{
    flex-wrap:wrap !important;
    gap:6px !important;
  }
  body.home-layout-news .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang{
    width:100% !important;
    justify-content:flex-start !important;
  }
}

/* =========================================================
   FINAL FIX 2026-07-11 - NEWS HOME HEADER / TOPBAR / MENU
   Cả 3 khối dùng đúng một khung 1280px và căn giữa màn hình.
   Đây là lớp override cuối cùng để vô hiệu các rule cũ xung đột.
   ========================================================= */
@media (min-width:1281px){
  body.home-layout-news{
    --news-centered-shell:1280px;
  }

  body.home-layout-news .topbar.topbar-upgraded.header-language-zone,
  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip,
  body.home-layout-news .main-menu-wrap{
    display:block !important;
    width:var(--news-centered-shell) !important;
    min-width:var(--news-centered-shell) !important;
    max-width:var(--news-centered-shell) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    box-sizing:border-box !important;
  }

  body.home-layout-news .topbar.topbar-upgraded.header-language-zone > .site-shell.topbar-upgraded-inner,
  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip > .brand-header-banner-wide,
  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip > .inner-header-banner-wide,
  body.home-layout-news .main-menu-wrap > .site-shell.main-menu-shell{
    width:1280px !important;
    min-width:1280px !important;
    max-width:1280px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }

  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip .brand-header-banner-wide img,
  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip .inner-header-banner-wide img{
    display:block !important;
    width:1280px !important;
    min-width:1280px !important;
    max-width:1280px !important;
    height:auto !important;
    margin:0 !important;
    object-fit:cover !important;
  }

  body.home-layout-news .main-menu-wrap > .site-shell.main-menu-shell{
    display:flex !important;
    align-items:center !important;
  }

  body.home-layout-news .main-menu-wrap .primary-menu-host,
  body.home-layout-news .main-menu-wrap .primary-menu-host > .menu-root{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
}

@media (max-width:1280px){
  body.home-layout-news .topbar.topbar-upgraded.header-language-zone,
  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip,
  body.home-layout-news .main-menu-wrap{
    width:calc(100% - 20px) !important;
    min-width:0 !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    transform:none !important;
    box-sizing:border-box !important;
  }

  body.home-layout-news .topbar.topbar-upgraded.header-language-zone > .site-shell.topbar-upgraded-inner,
  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip > .brand-header-banner-wide,
  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip > .inner-header-banner-wide,
  body.home-layout-news .main-menu-wrap > .site-shell.main-menu-shell{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }

  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip .brand-header-banner-wide img,
  body.home-layout-news header.site-shell.brand-row.brand-row-search.header-top-strip .inner-header-banner-wide img{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
  }
}

/* =========================================================
   FINAL FIX 2026-07-11 - OPAQUE WHITE 1280px BODY COLUMN
   Nền xanh chỉ hiển thị ngoài hai mép. Toàn bộ cột nội dung
   1280px từ khu vực đầu trang đến hết footer có nền trắng đặc.
   Giữ nguyên Skeleton / Preload banner / Lazy-load.
   ========================================================= */
body.home-layout-news.news-blue-bg-active{
  background-color:#058fe5 !important;
  background-image:
    linear-gradient(
      to right,
      transparent 0,
      transparent calc(50% - 640px),
      #ffffff calc(50% - 640px),
      #ffffff calc(50% + 640px),
      transparent calc(50% + 640px),
      transparent 100%
    ),
    linear-gradient(rgba(255,255,255,.04), rgba(255,255,255,.04)),
    url('/images/news-home-blue-wave-bg.png') !important;
  background-size:auto 100%, cover, cover !important;
  background-position:center top, center top, center top !important;
  background-repeat:repeat-y, no-repeat, no-repeat !important;
  background-attachment:scroll, fixed, fixed !important;
}

/* Loại bỏ toàn bộ độ trong suốt trong cột nội dung 1280px */
body.home-layout-news.news-blue-bg-active main.site-shell,
body.home-layout-news.news-blue-bg-active .content-center,
body.home-layout-news.news-blue-bg-active .content-center.full-width,
body.home-layout-news.news-blue-bg-active .news-home-shell,
body.home-layout-news.news-blue-bg-active .social-seo-embed-zone{
  background:#ffffff !important;
  opacity:1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.home-layout-news.news-blue-bg-active main.site-shell{
  min-height:1px;
  box-shadow:0 10px 28px rgba(0,68,120,.10);
}

body.home-layout-news.news-blue-bg-active .news-home-shell{
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

/* Các khoảng nối giữa banner, menu, body và footer cũng không được xuyên nền */
body.home-layout-news.news-blue-bg-active header.site-shell.brand-row,
body.home-layout-news.news-blue-bg-active .main-menu-wrap,
body.home-layout-news.news-blue-bg-active main.site-shell,
body.home-layout-news.news-blue-bg-active .social-seo-embed-zone,
body.home-layout-news.news-blue-bg-active .footer-main{
  position:relative;
  z-index:1;
}

@media(max-width:1280px){
  body.home-layout-news.news-blue-bg-active{
    background-image:none !important;
    background-color:#ffffff !important;
    background-attachment:scroll !important;
  }
}

/* =========================================================
   EDUCATION HOME FULL-WIDTH MENU + TOP BANNERS - 2026-07-20
   Chỉ áp dụng cho Trang chủ Kiểu Giáo Dục.
   Menu ngang và banner đầu trang luôn bám 100% chiều rộng viewport,
   responsive trên desktop, tablet và mobile.
   ========================================================= */
body.home-layout-education{
  overflow-x:hidden;
}

/* Menu: bỏ giới hạn site-shell, trải kín chiều rộng màn hình. */
body.home-layout-education .main-menu-wrap{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  width:100vw !important;
  min-width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

body.home-layout-education .main-menu-wrap > .site-shell.main-menu-shell{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:clamp(10px,2vw,28px) !important;
  padding-right:clamp(10px,2vw,28px) !important;
  box-sizing:border-box !important;
}

body.home-layout-education .main-menu-wrap .primary-menu-host,
body.home-layout-education .main-menu-wrap .primary-menu-host > .menu-root{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* Banner logo/header phía trên menu: trải kín theo màn hình. */
body.home-layout-education header.site-shell.brand-row.brand-row-search.header-top-strip{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  width:100vw !important;
  min-width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

body.home-layout-education header.site-shell.brand-row.brand-row-search.header-top-strip > .brand-header-banner-wide,
body.home-layout-education header.site-shell.brand-row.brand-row-search.header-top-strip > .inner-header-banner-wide{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

body.home-layout-education header.site-shell.brand-row.brand-row-search.header-top-strip .brand-header-banner-wide img,
body.home-layout-education header.site-shell.brand-row.brand-row-search.header-top-strip .inner-header-banner-wide img{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  object-fit:cover !important;
}

/* Banner slider trong nội dung Giáo Dục: khóa chắc full viewport. */
body.home-layout-education .edu-home-shell,
body.home-layout-education .edu-hero-slider{
  width:100vw !important;
  max-width:100vw !important;
  box-sizing:border-box !important;
}

body.home-layout-education .edu-hero-slide,
body.home-layout-education .edu-hero-slide img{
  width:100% !important;
  max-width:100% !important;
}

body.home-layout-education .edu-hero-slide img{
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

@media(max-width:767px){
  body.home-layout-education .main-menu-wrap > .site-shell.main-menu-shell{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body.home-layout-education header.site-shell.brand-row.brand-row-search.header-top-strip .brand-row-main{
    width:100% !important;
    max-width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
  }
}

/* =========================================================
   EDUCATION PUBLIC BODY FULL VIEWPORT - 2026-07-20
   Áp dụng cho toàn bộ website khi HomeLayout = education:
   Trang chủ, chuyên mục, chi tiết bài viết và các trang công khai.
   ========================================================= */
body.home-layout-education main.site-shell.page-with-sidebars{
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(12px,2vw,32px) !important;
  padding-right:clamp(12px,2vw,32px) !important;
  box-sizing:border-box !important;
}

body.home-layout-education main.site-shell.page-with-sidebars > .content-center{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* Không để các khối trang chuyên mục/chi tiết tự co về chiều rộng cố định. */
body.home-layout-education .content-center > .page-hero,
body.home-layout-education .content-center > .article-content,
body.home-layout-education .content-center > .list-item-modern,
body.home-layout-education .content-center > .empty-state,
body.home-layout-education .content-center > .document-library-zone,
body.home-layout-education .content-center > .doc-grid-modern,
body.home-layout-education .content-center > .modern-pagination{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* Nội dung CKEditor/bài viết phải co giãn an toàn theo thiết bị. */
body.home-layout-education .article-content,
body.home-layout-education .article-content-public,
body.home-layout-education .article-content > div{
  min-width:0 !important;
  max-width:100% !important;
  overflow-wrap:anywhere;
  word-break:break-word;
  box-sizing:border-box !important;
}

body.home-layout-education .article-content img,
body.home-layout-education .article-content-public img{
  max-width:100% !important;
  height:auto !important;
}

body.home-layout-education .article-content iframe,
body.home-layout-education .article-content video,
body.home-layout-education .article-content embed,
body.home-layout-education .article-content object{
  max-width:100% !important;
}

body.home-layout-education .article-content table,
body.home-layout-education .article-content-public table{
  width:100% !important;
  max-width:100% !important;
  display:block;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Desktop rộng: giữ sidebar nhưng cho toàn bộ body dùng hết màn hình. */
@media(min-width:1200px){
  body.home-layout-education main.site-shell.page-with-sidebars.has-left.has-right{
    grid-template-columns:minmax(220px,18vw) minmax(0,1fr) minmax(220px,18vw) !important;
  }

  body.home-layout-education main.site-shell.page-with-sidebars.has-left.no-right{
    grid-template-columns:minmax(220px,20vw) minmax(0,1fr) !important;
  }

  body.home-layout-education main.site-shell.page-with-sidebars.no-left.has-right{
    grid-template-columns:minmax(0,1fr) minmax(220px,20vw) !important;
  }

  body.home-layout-education main.site-shell.page-with-sidebars.no-left.no-right{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

/* Tablet: giảm khoảng đệm và sidebar để dành chỗ cho nội dung. */
@media(min-width:768px) and (max-width:1199px){
  body.home-layout-education main.site-shell.page-with-sidebars{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  body.home-layout-education main.site-shell.page-with-sidebars.has-left.has-right,
  body.home-layout-education main.site-shell.page-with-sidebars.has-left.no-right,
  body.home-layout-education main.site-shell.page-with-sidebars.no-left.has-right,
  body.home-layout-education main.site-shell.page-with-sidebars.no-left.no-right{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

/* Điện thoại: body sát màn hình, mọi khối xếp một cột và không tràn ngang. */
@media(max-width:767px){
  body.home-layout-education main.site-shell.page-with-sidebars{
    width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
    gap:14px !important;
  }

  body.home-layout-education main.site-shell.page-with-sidebars,
  body.home-layout-education main.site-shell.page-with-sidebars.has-left.has-right,
  body.home-layout-education main.site-shell.page-with-sidebars.has-left.no-right,
  body.home-layout-education main.site-shell.page-with-sidebars.no-left.has-right,
  body.home-layout-education main.site-shell.page-with-sidebars.no-left.no-right{
    grid-template-columns:minmax(0,1fr) !important;
  }

  body.home-layout-education .page-hero,
  body.home-layout-education .article-content,
  body.home-layout-education .list-item-modern,
  body.home-layout-education .document-library-zone{
    border-radius:12px !important;
  }

  body.home-layout-education .list-item-modern{
    grid-template-columns:minmax(0,1fr) !important;
  }

  body.home-layout-education .list-item-modern .thumb img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16/9;
    object-fit:cover !important;
  }
}

/* =========================================================
   NEWS LAYOUT CONTENT BREATHING SPACE - 2026-07-20
   Trang chủ Trang tin + Chuyên mục + Bài viết
   ========================================================= */

/* Khung chính luôn có khoảng thở hai bên, không còn sát mép. */
body.home-layout-news main.site-shell.page-with-sidebars{
  width:100% !important;
  max-width:1280px !important;
  box-sizing:border-box !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(10px,1.6vw,24px) !important;
  padding-right:clamp(10px,1.6vw,24px) !important;
}

body.home-layout-news main.site-shell.page-with-sidebars > .content-center{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
}

/* Trang chủ Kiểu Trang tin: toàn bộ shell và các khối đều có khoảng thở. */
body.home-layout-news .news-home-shell{
  width:100% !important;
  max-width:1280px !important;
  box-sizing:border-box !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(10px,1.6vw,24px) !important;
  padding-right:clamp(10px,1.6vw,24px) !important;
}

body.home-layout-news .news-home-grid,
body.home-layout-news .news-home-main-grid,
body.home-layout-news .news-home-left,
body.home-layout-news .news-home-right,
body.home-layout-news .news-home-category-layout,
body.home-layout-news .news-home-featured-layout,
body.home-layout-news .news-home-video-layout,
body.home-layout-news .news-home-product-grid,
body.home-layout-news .news-home-document-grid{
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Card chuyên mục, bài nổi bật, thương mại, tài liệu không chạm mép. */
body.home-layout-news .news-home-box{
  width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

body.home-layout-news .news-home-box-title,
body.home-layout-news .news-home-category-featured,
body.home-layout-news .news-home-category-list,
body.home-layout-news .news-home-side-list,
body.home-layout-news .news-home-product-categories,
body.home-layout-news .news-home-product-grid,
body.home-layout-news .news-home-document-grid{
  box-sizing:border-box !important;
}

/* Khoảng cách đều giữa các card tin. */
body.home-layout-news .news-home-main-grid,
body.home-layout-news .news-home-category-layout,
body.home-layout-news .news-home-featured-layout,
body.home-layout-news .news-home-video-layout,
body.home-layout-news .news-home-product-grid,
body.home-layout-news .news-home-document-grid{
  gap:clamp(12px,1.5vw,20px) !important;
}

body.home-layout-news .news-home-row-item,
body.home-layout-news .news-home-small-item,
body.home-layout-news .news-home-product-card,
body.home-layout-news .news-home-document-card{
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Ảnh đại diện luôn nằm gọn trong card, không dính hoặc tràn mép. */
body.home-layout-news .news-home-main-thumb,
body.home-layout-news .news-home-category-thumb,
body.home-layout-news .news-home-row-thumb,
body.home-layout-news .news-home-small-thumb,
body.home-layout-news .list-item-modern .thumb{
  overflow:hidden !important;
}

body.home-layout-news .news-home-main-thumb img,
body.home-layout-news .news-home-category-thumb img,
body.home-layout-news .news-home-row-thumb img,
body.home-layout-news .news-home-small-thumb img,
body.home-layout-news .list-item-modern .thumb img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  object-fit:cover !important;
}

/* Trang chuyên mục: hero, danh sách bài và phân trang có khoảng thở rõ ràng. */
body.home-layout-news .content-center > .page-hero,
body.home-layout-news .content-center > .list-item-modern,
body.home-layout-news .content-center > .modern-pagination,
body.home-layout-news .content-center > .empty-state,
body.home-layout-news .content-center > .document-library-zone{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.home-layout-news .page-hero{
  padding-left:clamp(14px,2vw,28px) !important;
  padding-right:clamp(14px,2vw,28px) !important;
}

body.home-layout-news .list-item-modern{
  margin-left:0 !important;
  margin-right:0 !important;
  overflow:hidden !important;
}

body.home-layout-news .list-item-modern .body{
  min-width:0 !important;
  padding:clamp(14px,2vw,22px) !important;
}

/* Trang bài viết: nền toàn chiều rộng, vùng đọc giới hạn để dễ đọc. */
body.home-layout-news .content-center > .article-content{
  width:100% !important;
  max-width:1080px !important;
  box-sizing:border-box !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(14px,2.2vw,30px) !important;
  padding-right:clamp(14px,2.2vw,30px) !important;
}

body.home-layout-news .content-center > .page-hero:has(+ .article-content){
  width:100% !important;
  max-width:1080px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

body.home-layout-news .article-content,
body.home-layout-news .article-content-public,
body.home-layout-news .article-content > div{
  min-width:0 !important;
  overflow-wrap:anywhere;
  word-break:normal;
}

body.home-layout-news .article-content img,
body.home-layout-news .article-content-public img{
  display:block;
  max-width:100% !important;
  height:auto !important;
  margin-left:auto;
  margin-right:auto;
}

body.home-layout-news .article-content iframe,
body.home-layout-news .article-content video,
body.home-layout-news .article-content embed,
body.home-layout-news .article-content object{
  max-width:100% !important;
}

body.home-layout-news .article-content table,
body.home-layout-news .article-content-public table{
  width:100% !important;
  max-width:100% !important;
  display:block !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch;
}

/* Tablet */
@media(min-width:768px) and (max-width:1199px){
  body.home-layout-news main.site-shell.page-with-sidebars,
  body.home-layout-news .news-home-shell{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  body.home-layout-news .content-center > .article-content{
    max-width:1080px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* Điện thoại: tối thiểu 8px, ảnh và bảng không còn sát mép. */
@media(max-width:767px){
  body.home-layout-news main.site-shell.page-with-sidebars,
  body.home-layout-news .news-home-shell{
    width:100% !important;
    padding-left:8px !important;
    padding-right:8px !important;
    gap:12px !important;
  }

  body.home-layout-news .page-hero{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.home-layout-news .list-item-modern{
    grid-template-columns:minmax(0,1fr) !important;
  }

  body.home-layout-news .list-item-modern .thumb img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16/9;
  }

  body.home-layout-news .content-center > .article-content{
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
    border-radius:12px !important;
  }

  body.home-layout-news .article-content img,
  body.home-layout-news .article-content-public img,
  body.home-layout-news .article-content table,
  body.home-layout-news .article-content-public table{
    max-width:100% !important;
  }

  body.home-layout-news .news-home-main-grid,
  body.home-layout-news .news-home-category-layout,
  body.home-layout-news .news-home-featured-layout,
  body.home-layout-news .news-home-video-layout,
  body.home-layout-news .news-home-product-grid,
  body.home-layout-news .news-home-document-grid{
    gap:12px !important;
  }
}


/* =========================================================
   NEWS LAYOUT FINAL WIDTH + BANNER POLISH - 2026-07-20
   Fix double horizontal padding; home/category 10-12px; article 1080px.
   ========================================================= */

/* Trang chủ Kiểu Trang tin: chỉ một lớp khoảng thở 12px, không cộng dồn. */
body.home-layout-news main.site-shell.page-with-sidebars:has(.news-home-shell){
  max-width:1280px !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body.home-layout-news main.site-shell.page-with-sidebars:has(.news-home-shell) > .content-center{
  padding-left:0 !important;
  padding-right:0 !important;
}

body.home-layout-news .news-home-shell{
  width:100% !important;
  max-width:1280px !important;
  padding-left:12px !important;
  padding-right:12px !important;
}

/* Trang chuyên mục: giữ khoảng thở hai bên 12px, không bó nội dung còn 980px. */
body.home-layout-news main.site-shell.page-with-sidebars:not(:has(.news-home-shell)){
  max-width:1280px !important;
  padding-left:12px !important;
  padding-right:12px !important;
}

body.home-layout-news .content-center > .page-hero:not(:has(+ .article-content)),
body.home-layout-news .content-center > .list-item-modern,
body.home-layout-news .content-center > .modern-pagination,
body.home-layout-news .content-center > .empty-state,
body.home-layout-news .content-center > .document-library-zone{
  max-width:100% !important;
}

/* Chỉ trang đọc bài mới giới hạn vùng đọc 1080px. */
body.home-layout-news .content-center > .article-content,
body.home-layout-news .content-center > .page-hero:has(+ .article-content){
  width:100% !important;
  max-width:1080px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Banner cách menu 10px, cách Tin chính 12px, bo góc và đổ bóng. */
body.home-layout-news .news-home-top-banner{
  margin-top:10px !important;
  margin-bottom:12px !important;
  border-radius:10px !important;
  border:1px solid rgba(23,72,118,.18) !important;
  overflow:hidden !important;
  box-shadow:0 7px 22px rgba(15,45,78,.14) !important;
}

/* Nút chuyển banner hiện đại, dễ nhìn nhưng không che ảnh. */
body.home-layout-news .news-home-banner-btn{
  width:44px !important;
  height:44px !important;
  border:1px solid rgba(255,255,255,.6) !important;
  border-radius:50% !important;
  background:rgba(9,38,67,.48) !important;
  color:#fff !important;
  font-size:21px !important;
  line-height:1 !important;
  opacity:.9 !important;
  box-shadow:0 4px 12px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(3px);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease !important;
}

body.home-layout-news .news-home-banner-btn:hover,
body.home-layout-news .news-home-banner-btn:focus-visible{
  background:rgba(17,92,155,.9) !important;
  transform:translateY(-50%) scale(1.06) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.28) !important;
  outline:none !important;
}

body.home-layout-news .news-home-banner-btn.prev{left:14px !important;}
body.home-layout-news .news-home-banner-btn.next{right:14px !important;}

body.home-layout-news .news-home-banner-dots{
  bottom:12px !important;
  gap:8px !important;
}

body.home-layout-news .news-home-banner-dot{
  width:10px !important;
  height:10px !important;
  border:2px solid rgba(255,255,255,.92) !important;
  background:rgba(9,38,67,.48) !important;
  box-shadow:0 2px 6px rgba(0,0,0,.22) !important;
  transition:width .2s ease,background .2s ease,transform .2s ease !important;
}

body.home-layout-news .news-home-banner-dot:hover{
  transform:scale(1.18) !important;
  background:#fff !important;
}

body.home-layout-news .news-home-banner-dot.active{
  width:28px !important;
  border-radius:999px !important;
  background:#fff !important;
}

@media(max-width:767px){
  body.home-layout-news .news-home-shell,
  body.home-layout-news main.site-shell.page-with-sidebars:not(:has(.news-home-shell)){
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body.home-layout-news .news-home-top-banner{
    margin-top:8px !important;
    margin-bottom:10px !important;
    border-radius:8px !important;
  }

  body.home-layout-news .news-home-banner-btn{
    width:36px !important;
    height:36px !important;
    font-size:17px !important;
  }

  body.home-layout-news .news-home-banner-btn.prev{left:8px !important;}
  body.home-layout-news .news-home-banner-btn.next{right:8px !important;}
  body.home-layout-news .news-home-banner-dots{bottom:8px !important;gap:6px !important;}
}

/* =========================================================
   NEWS CATEGORY + ARTICLE WIDTH SYNC - 2026-07-20
   Dong bo /Chuyen-muc/{id} va /Bai-Viet/{id} voi Trang chu Kieu Trang tin.
   ========================================================= */
body.home-layout-news main.site-shell.page-with-sidebars,
body.home-layout-news main.site-shell.page-with-sidebars:not(:has(.news-home-shell)){
  width:100% !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:12px !important;
  padding-right:12px !important;
  box-sizing:border-box !important;
}

body.home-layout-news main.site-shell.page-with-sidebars > .content-center,
body.home-layout-news .content-center > .page-hero,
body.home-layout-news .content-center > .article-content,
body.home-layout-news .content-center > .page-hero:has(+ .article-content),
body.home-layout-news .content-center > .list-item-modern,
body.home-layout-news .content-center > .modern-pagination,
body.home-layout-news .content-center > .empty-state,
body.home-layout-news .content-center > .document-library-zone{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Bai viet chi tiet rong dong bo khung Trang chu; van giu dem trong de de doc. */
body.home-layout-news .content-center > .article-content{
  padding-left:clamp(14px,2vw,26px) !important;
  padding-right:clamp(14px,2vw,26px) !important;
}

@media(max-width:767px){
  body.home-layout-news main.site-shell.page-with-sidebars,
  body.home-layout-news main.site-shell.page-with-sidebars:not(:has(.news-home-shell)){
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body.home-layout-news .content-center > .article-content{
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
}

/* =========================================================
   PUBLIC CONTENT SPACING 12PX SYNC - 2026-07-21
   Trang chu mac dinh + /Chuyen-muc/{id} + /Bai-Viet/{id}
   ========================================================= */
:root{
  --public-content-spacing:12px;
}

/* Trang chu mac dinh: Menu -> Banner -> Hero -> cac khoi tin. */
body:not(.home-layout-news):not(.home-layout-education) .home-banner-stage{
  margin-top:var(--public-content-spacing) !important;
  margin-bottom:var(--public-content-spacing) !important;
}
body:not(.home-layout-news):not(.home-layout-education) .hero,
body:not(.home-layout-news):not(.home-layout-education) .hero-top-logos{
  margin-top:var(--public-content-spacing) !important;
  margin-bottom:var(--public-content-spacing) !important;
}
body:not(.home-layout-news):not(.home-layout-education) .hero-top-logos-inner,
body:not(.home-layout-news):not(.home-layout-education) .hero-top-logos-showcase,
body:not(.home-layout-news):not(.home-layout-education) .hero-top-logos-grid{
  gap:var(--public-content-spacing) !important;
}
body:not(.home-layout-news):not(.home-layout-education) .home-zones-stack{
  gap:var(--public-content-spacing) !important;
  margin-top:var(--public-content-spacing) !important;
}
body:not(.home-layout-news):not(.home-layout-education) .home-zone-rich-head{
  gap:var(--public-content-spacing) !important;
  margin-bottom:var(--public-content-spacing) !important;
  padding-bottom:var(--public-content-spacing) !important;
}
body:not(.home-layout-news):not(.home-layout-education) .home-zone-rich-body,
body:not(.home-layout-news):not(.home-layout-education) .home-zone-rich-grid,
body:not(.home-layout-news):not(.home-layout-education) .content-grid,
body:not(.home-layout-news):not(.home-layout-education) .slider-track{
  gap:var(--public-content-spacing) !important;
}
body:not(.home-layout-news):not(.home-layout-education) .section-head{
  margin-top:var(--public-content-spacing) !important;
  margin-bottom:var(--public-content-spacing) !important;
}

/* Chuyen muc va bai viet: dong bo khoang cach doc va gap cot. */
main.site-shell.page-with-sidebars{
  gap:var(--public-content-spacing) !important;
  padding-top:var(--public-content-spacing) !important;
  padding-bottom:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .page-hero{
  margin-top:0 !important;
  margin-bottom:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .list-item-modern{
  gap:var(--public-content-spacing) !important;
  margin-bottom:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .modern-pagination{
  gap:var(--public-content-spacing) !important;
  margin-top:var(--public-content-spacing) !important;
  margin-bottom:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .document-library-zone{
  margin-top:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .document-library-zone > .page-hero{
  margin-top:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .doc-grid-modern,
main.site-shell.page-with-sidebars .doc-card-actions{
  gap:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .article-content{
  margin-top:0 !important;
  margin-bottom:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .article-content .meta,
main.site-shell.page-with-sidebars .article-content-public{
  margin-bottom:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .article-content img,
main.site-shell.page-with-sidebars .article-content iframe,
main.site-shell.page-with-sidebars .article-content video,
main.site-shell.page-with-sidebars .article-content table,
main.site-shell.page-with-sidebars .article-content figure{
  margin-top:var(--public-content-spacing) !important;
  margin-bottom:var(--public-content-spacing) !important;
}
main.site-shell.page-with-sidebars .menu-bottom-wrap{
  margin-top:var(--public-content-spacing) !important;
}

/* Khong de footer bi tach qua xa khoi noi dung cong khai. */
body:not(.admin-body) .footer-main{
  margin-top:var(--public-content-spacing) !important;
}

@media(max-width:767px){
  main.site-shell.page-with-sidebars{
    gap:var(--public-content-spacing) !important;
    padding-top:var(--public-content-spacing) !important;
    padding-bottom:var(--public-content-spacing) !important;
  }
}

/* =========================================================
   DEFAULT HOME BANNER + HERO COMPACT SPACING - 2026-07-21
   Chi ap dung Trang chu mac dinh dang Magazine.
   Loai bo gap 22px cua khoi cha, giu shadow gon va hien dai.
   ========================================================= */
body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine{
  gap:0 !important;
  row-gap:0 !important;
}

body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine > .home-banner-stage{
  margin:4px 0 2px !important;
  padding:0 !important;
}

body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine > .home-banner-stage .home-banner-frame{
  margin:0 !important;
  box-shadow:0 4px 12px rgba(15,35,80,.075) !important;
}

body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine > .hero-top-logos{
  margin:2px 0 4px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  box-shadow:0 4px 12px rgba(15,23,42,.065) !important;
}

body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine > .hero-top-logos + .home-zones-stack{
  margin-top:6px !important;
}

@media (max-width:768px){
  body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine > .home-banner-stage{
    margin:3px 0 2px !important;
  }
  body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) .home-layout-stage.home-layout-magazine > .hero-top-logos{
    margin:2px 0 4px !important;
  }
}

/* =========================================================
   PUBLIC FOOTER CONSISTENCY - 2026-08-05
   Đồng bộ footer của Trang chủ mặc định, Chuyên mục và Bài viết.
   Footer luôn dùng cùng chiều rộng site-shell, cùng 3 cột và cùng
   quy tắc responsive; không phụ thuộc chiều rộng riêng của nội dung trang.
   ========================================================= */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main > .site-shell.footer-cols{
  width:min(1280px, calc(100% - 24px)) !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-cols{
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) !important;
  align-items:stretch !important;
}
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-box{
  min-width:0 !important;
  height:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-cols{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-box:last-child{
    grid-column:1 / -1 !important;
  }
}
@media(max-width:640px){
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main > .site-shell.footer-cols{
    width:min(100% - 20px, 1280px) !important;
  }
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-cols{
    grid-template-columns:minmax(0,1fr) !important;
  }
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-box:last-child{
    grid-column:auto !important;
  }
}

/* =========================================================
   DEFAULT PUBLIC LAYOUT - ONE 1280PX FRAME FROM TOP TO FOOTER
   2026-08-05
   Muc tieu: Kieu Trang mac dinh co cung 1 mep trai/phai 1280px
   cho Topbar (Hotline/Zalo/Language), Header, Menu ngang, Main va Footer.
   News/Education giu nguyen layout rieng.
   ========================================================= */
@media (min-width: 1281px){
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) header.site-shell.brand-row.brand-row-search.header-top-strip,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .main-menu-wrap,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
    width:1280px !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
}

/* Tu 1280px tro xuong: cung mot khung responsive 100%, khong tran ngang. */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) header.site-shell.brand-row.brand-row-search.header-top-strip,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .main-menu-wrap,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
  box-sizing:border-box !important;
}

/* Cac shell nam trong thanh nen phai dung tron chieu rong 1280 cua thanh cha,
   khong bi tinh hai lan max-width/padding khac nhau. */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone > .site-shell.topbar-upgraded-inner,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .main-menu-wrap > .site-shell.main-menu-shell,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main > .site-shell.footer-cols{
  width:100% !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Header va Main cung dung dung box 1280; padding chi nam ben trong box,
   nen mep ngoai cua tat ca khoi van thang hang tuyet doi. */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) header.site-shell.brand-row.brand-row-search.header-top-strip,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell{
  width:min(100%, 1280px) !important;
}

/* Footer override ban cu: nen Footer khong con full viewport o Kieu Trang mac dinh. */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
  overflow:hidden;
}

@media (max-width:1280px){
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) header.site-shell.brand-row.brand-row-search.header-top-strip,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .main-menu-wrap,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
    width:100% !important;
    max-width:100% !important;
  }
}

/* Search icon: inline SVG, independent of icon fonts */
.brand-search-icon svg,.brand-search-button-icon{display:block;width:16px;height:16px;flex:0 0 16px;}
.brand-search-input-wrap button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;}


/* ===== 2026-08-05 FINAL COMPACT MODERN SEARCH =====
   One input + one icon button. No icon font, no redundant leading icon. */
.brand-search-wrap{
  width:100% !important;
  max-width:300px !important;
  justify-self:end !important;
}
.brand-search-form{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}
.brand-search-input-wrap{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding:2px 3px 2px 12px !important;
  border:1px solid #cfd8e3 !important;
  border-radius:17px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 2px 8px rgba(15,23,42,.07) !important;
  transition:border-color .18s ease, box-shadow .18s ease !important;
}
.brand-search-input-wrap:focus-within{
  border-color:#7aa7d9 !important;
  box-shadow:0 0 0 3px rgba(15,98,254,.08),0 2px 8px rgba(15,23,42,.07) !important;
}
.brand-search-icon{
  display:none !important;
}
.brand-search-input-wrap input{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:100% !important;
  height:28px !important;
  margin:0 !important;
  padding:0 8px 0 0 !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:12.5px !important;
  line-height:28px !important;
  color:#1f2937 !important;
}
.brand-search-input-wrap input::placeholder{
  color:#8a98aa !important;
  opacity:1 !important;
  font-size:12.5px !important;
  line-height:28px !important;
}
.brand-search-input-wrap button{
  flex:0 0 29px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:29px !important;
  min-width:29px !important;
  height:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-left:0 !important;
  border-radius:14px !important;
  background:#0f62b7 !important;
  color:#fff !important;
  cursor:pointer !important;
  overflow:visible !important;
  font-size:0 !important;
  line-height:1 !important;
  box-shadow:none !important;
  transition:background .18s ease, transform .18s ease !important;
}
.brand-search-input-wrap button:hover{
  background:#0b4f95 !important;
}
.brand-search-input-wrap button:active{
  transform:scale(.96) !important;
}
.brand-search-input-wrap button::before,
.brand-search-input-wrap button::after{
  content:none !important;
  display:none !important;
}
.brand-search-input-wrap button svg{
  display:block !important;
  width:14px !important;
  height:14px !important;
  margin:0 !important;
  padding:0 !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  pointer-events:none !important;
}
.brand-search-note{
  display:none !important;
}
@media (max-width:767px){
  .brand-search-wrap{
    max-width:280px !important;
    justify-self:center !important;
  }
  .brand-search-input-wrap{
    height:34px !important;
    min-height:34px !important;
  }
  .brand-search-input-wrap input{
    height:28px !important;
    font-size:12px !important;
    line-height:28px !important;
  }
  .brand-search-input-wrap button{
    grid-column:auto !important;
    width:29px !important;
    min-width:29px !important;
    height:28px !important;
    margin:0 !important;
  }
}


/* ===== 2026-08-06 TOP HEADER CONTRAST FIX =====
   Tang do tuong phan cho Hotline/Zalo/Gio hang/Ngon ngu.
   Dat o cuoi hnschool-theme.css de thang cac rule theme/customizer cu. */
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone{
  color:#ffffff !important;
}

/* Hotline: nen trang mo tren header dam, chu trang ro. */
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .hotline-action{
  background:rgba(255,255,255,.14) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.32) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-text small,
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-text strong,
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-icon,
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .hotline-action i{
  color:#ffffff !important;
  opacity:1 !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-text small{
  color:#eaf4ff !important;
  font-weight:700 !important;
}

/* Zalo: dung nen trang de chu xanh dam co contrast cao, khong phu thuoc mau text tblConfig. */
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline{
  background:#ffffff !important;
  color:#0b3f91 !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 3px 12px rgba(3,28,70,.16) !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text small{
  color:#315a8f !important;
  opacity:1 !important;
  font-weight:800 !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text strong{
  color:#082f6b !important;
  opacity:1 !important;
  font-weight:900 !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-icon{
  background:#1265d6 !important;
  color:#ffffff !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-icon i{
  color:#ffffff !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline:hover{
  background:#f4f8ff !important;
  border-color:#c9dcfb !important;
}

/* Khoi ben phai: bo nen lang-bg dam boc ca cum de Gio hang/Email khong bi chim.
   Tung nut ngon ngu van co nen rieng. */
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang{
  background:rgba(3,28,70,.18) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-mini-link{
  color:#ffffff !important;
  font-weight:700 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.16);
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-mini-link i{
  color:#ffffff !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-mini-link:hover{
  color:#fff4bf !important;
}

/* Language pills: contrast on both light/dark configured colors. */
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .language-switch-link,
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .header-lang .btn-ghost{
  background:#ffffff !important;
  color:#123b72 !important;
  border:1px solid rgba(255,255,255,.78) !important;
  font-weight:800 !important;
}
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .language-switch-link:hover,
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .header-lang .btn-ghost:hover{
  background:#fff7d6 !important;
  color:#713f12 !important;
}

/* Mobile: giu chu ro, khong de nut bi nen trong suot qua muc. */
@media (max-width:767px){
  body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang{
    background:rgba(3,28,70,.24) !important;
  }
}

/* ===== 2026-08-06 TOPBAR FULL CONTRAST FINAL =====
   Theme-aware contrast for Hotline / Zalo / Cart / Email / Language. */

/* Base fallback for dark/unknown topbars */
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-action-text small,
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-action-text strong,
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-mini-link,
body:not(.admin-body) .topbar.topbar-upgraded.header-language-zone .topbar-mini-link i {
  opacity:1 !important;
}

/* MODERN PORTAL: topbar is light, therefore use dark high-contrast text. */
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone {
  background:linear-gradient(90deg,#eef5fb 0%,#f4fbfd 52%,#eef9f6 100%) !important;
  color:#173a5c !important;
  border-bottom:1px solid #d7e6ee !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .hotline-action {
  background:#ffffff !important;
  color:#123b66 !important;
  border:1px solid #cddfea !important;
  box-shadow:0 2px 8px rgba(18,59,102,.08) !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-text small {
  color:#58718a !important;
  font-weight:800 !important;
  opacity:1 !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-text strong {
  color:#0f3157 !important;
  font-weight:900 !important;
  opacity:1 !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-icon,
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-icon i {
  background:#e8f2fb !important;
  color:#1769aa !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline {
  background:linear-gradient(135deg,#1769aa,#16a6b6) !important;
  color:#ffffff !important;
  border:0 !important;
  box-shadow:0 3px 10px rgba(23,105,170,.16) !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text small,
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text strong,
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-icon,
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-icon i {
  color:#ffffff !important;
  opacity:1 !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text small {color:#e8faff !important;font-weight:800 !important;}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text strong {font-weight:900 !important;}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang {
  background:#ffffff !important;
  border:1px solid #d2e2ec !important;
  box-shadow:0 2px 8px rgba(18,59,102,.06) !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .topbar-mini-link,
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .topbar-mini-link i {
  color:#173a5c !important;
  text-shadow:none !important;
  font-weight:750 !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .topbar-mini-link:hover {color:#0f6f80 !important;}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .language-switch-link,
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .header-lang .btn-ghost {
  background:#edf4fb !important;
  color:#123b66 !important;
  border:1px solid #cfdfea !important;
  font-weight:850 !important;
}
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .language-switch-link:hover,
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .header-lang .btn-ghost:hover {
  background:#dff3f1 !important;
  color:#116c67 !important;
  border-color:#b7ded9 !important;
}

/* RAIL TRANSPORT: light topbar + railway palette. */
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone {
  background:linear-gradient(90deg,#edf4fb 0%,#eff9fc 55%,#eef8f5 100%) !important;
  color:#173f68 !important;
  border-bottom:1px solid #d6e5ef !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .hotline-action {
  background:#ffffff !important;
  color:#103d78 !important;
  border:1px solid #cbddea !important;
  box-shadow:0 2px 8px rgba(16,61,120,.08) !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-text small {
  color:#617990 !important;
  font-weight:800 !important;
  opacity:1 !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-text strong {
  color:#0d3568 !important;
  font-weight:900 !important;
  opacity:1 !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-icon,
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .hotline-action .topbar-action-icon i {
  background:#e8f2fb !important;
  color:#1268b9 !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline {
  background:linear-gradient(135deg,#1268b9,#10a2b6) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 3px 10px rgba(18,104,185,.16) !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text small,
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text strong,
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-icon,
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-icon i {
  color:#fff !important;
  opacity:1 !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text small {color:#e6fbff !important;font-weight:800 !important;}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .zalo-action.zalo-hotline .topbar-action-text strong {font-weight:900 !important;}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang {
  background:#ffffff !important;
  border:1px solid #cfdfeb !important;
  box-shadow:0 2px 8px rgba(16,61,120,.06) !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .topbar-mini-link,
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .topbar-mini-link i {
  color:#173f68 !important;
  text-shadow:none !important;
  font-weight:700 !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .topbar-mini-link:hover {color:#0e7c89 !important;}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .language-switch-link,
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .header-lang .btn-ghost {
  background:#eaf3fb !important;
  color:#103d78 !important;
  border:1px solid #cbddea !important;
  font-weight:800 !important;
}
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .language-switch-link:hover,
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .header-lang .btn-ghost:hover {
  background:#fff1e9 !important;
  color:#a94720 !important;
  border-color:#f0c3ad !important;
}

/* Keep ecommerce text readable if later a separate checkout/payment link is added with the same class. */
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone a[href*="gio-hang"],
body.home-layout-modern .topbar.topbar-upgraded.header-language-zone a[href*="thanh-toan"],
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone a[href*="gio-hang"],
body.home-layout-transport .topbar.topbar-upgraded.header-language-zone a[href*="thanh-toan"] {
  opacity:1 !important;
}

@media (max-width:767px){
  body.home-layout-modern .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang,
  body.home-layout-transport .topbar.topbar-upgraded.header-language-zone .topbar-right-tools.header-lang {
    background:#ffffff !important;
  }
}


/* =========================================================
   FINAL PUBLIC 1280 ALIGNMENT - 2026-08-07
   Một trục 1280px từ Topbar -> Header -> Menu -> Body -> Footer.
   Áp dụng Default + Modern Portal + Railway Transport.
   News/Education giữ layout riêng.
   ========================================================= */
:root{ --public-shell-1280:1280px; }

body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) header.site-shell.brand-row.brand-row-search.header-top-strip,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .main-menu-wrap,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
  width:min(100%,var(--public-shell-1280)) !important;
  max-width:var(--public-shell-1280) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Shell con không tự co thêm 12/24px làm lệch mép so với Body. */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone > .site-shell.topbar-upgraded-inner,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .main-menu-wrap > .site-shell.main-menu-shell,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main > .site-shell.footer-cols{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Body của ba kiểu trang dùng chính xác cùng trục ngoài 1280px. */
body.home-layout-magazine:not(.home-layout-news):not(.home-layout-education) main.site-shell,
body.home-layout-modern main.site-shell,
body.home-layout-transport main.site-shell,
body.home-layout-modern .modern-home,
body.home-layout-transport .modern-home{
  width:min(100%,var(--public-shell-1280)) !important;
  max-width:var(--public-shell-1280) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Không cho section cấp 1 tự đặt width nhỏ hơn shell cha. */
body.home-layout-modern .modern-home > section,
body.home-layout-modern .modern-home > .mh-section,
body.home-layout-transport .modern-home > section,
body.home-layout-transport .modern-home > .mh-section{
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Trang chuyên mục và bài viết cũng dóng theo cùng khung ngoài. */
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell .category-page,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell .article-page,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell .page-shell,
body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell .content-shell{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Responsive: giữ cùng gutter 12px ở mọi khối, không phát sinh scroll ngang. */
@media(max-width:1280px){
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .topbar.topbar-upgraded.header-language-zone,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) header.site-shell.brand-row.brand-row-search.header-top-strip,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .main-menu-wrap,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) main.site-shell,
  body:not(.admin-body):not(.home-layout-news):not(.home-layout-education) .footer-main{
    width:100% !important;
    max-width:100% !important;
  }
}
