/* Trường Thịnh Telecom v3.4.4 — immutable global Header/Footer shell.\n   Loaded LAST on every frontend route. Route CSS must only style #tt-main content. */
html{scrollbar-gutter:stable}
body.tt-frontend{min-height:100vh!important;display:flex!important;flex-direction:column!important;overflow-x:hidden!important}
body.tt-frontend>.tt-main{flex:1 0 auto!important;width:100%!important;min-width:0!important}
body.tt-frontend>.tt-header,body.tt-frontend>.tt-footer{flex:0 0 auto!important;width:100%!important}

/* One container system on ALL desktop routes — legacy pages may not change it. */
body.tt-desktop{--tt-container:1440px!important;--tt-pad:24px!important;--tt-category-width:300px!important;--tt-nav-gap:18px!important}
body.tt-desktop .tt-container{width:min(calc(100% - var(--tt-pad)*2),var(--tt-container))!important;max-width:var(--tt-container)!important;margin-left:auto!important;margin-right:auto!important}

/* Desktop header geometry is immutable between Home/Shop/Product/content pages. */
body.tt-desktop .tt-header-desktop{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;border:0!important;transform:none!important}
body.tt-desktop .tt-topbar{height:30px!important;min-height:30px!important;max-height:30px!important;margin:0!important;padding:0!important;background:#fafafa!important;border-bottom:1px solid #eef0f3!important;overflow:hidden!important}
body.tt-desktop .tt-topbar-inner{height:29px!important;min-height:29px!important;max-height:29px!important;margin-inline:auto!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
body.tt-desktop .tt-head-main{height:86px!important;min-height:86px!important;max-height:86px!important;margin-inline:auto!important;padding:12px 0!important;display:grid!important;grid-template-columns:240px minmax(360px,1fr) 175px 88px 96px!important;gap:18px!important;align-items:center!important;overflow:visible!important;transform:none!important}
body.tt-desktop .tt-head-logo{height:62px!important;display:flex!important;align-items:center!important;min-width:0!important;overflow:hidden!important}
body.tt-desktop .tt-head-logo .tt-logo,body.tt-desktop .tt-head-logo .custom-logo-link{width:auto!important;max-width:230px!important;height:58px!important;display:flex!important;align-items:center!important;margin:0!important;padding:0!important}
body.tt-desktop .tt-head-logo img{display:block!important;width:auto!important;height:auto!important;max-width:230px!important;max-height:58px!important;margin:0!important;object-fit:contain!important}
body.tt-desktop .tt-head-search{height:48px!important;min-height:48px!important;max-height:48px!important;margin:0!important}
body.tt-desktop .tt-head-contact{height:48px!important;margin:0!important}
body.tt-desktop .tt-head-action{height:48px!important;margin:0!important}
body.tt-desktop .tt-nav-wrap{position:relative!important;z-index:60!important;width:100%!important;height:57px!important;min-height:57px!important;max-height:57px!important;margin:0!important;padding:0!important;border-top:1px solid #eceff2!important;border-bottom:1px solid #eceff2!important;background:#fff!important;overflow:visible!important;transform:none!important}
body.tt-desktop .tt-nav-row{height:55px!important;min-height:55px!important;max-height:55px!important;margin-inline:auto!important;padding:0!important;display:grid!important;grid-template-columns:var(--tt-category-width) minmax(0,1fr)!important;column-gap:var(--tt-nav-gap)!important;align-items:start!important;overflow:visible!important;transform:none!important}
body.tt-desktop .tt-categories-menu{width:var(--tt-category-width)!important;min-width:var(--tt-category-width)!important;max-width:var(--tt-category-width)!important;height:55px!important;margin:0!important;padding:0!important;position:relative!important;transform:none!important}
body.tt-desktop .tt-categories-button{width:100%!important;height:55px!important;min-height:55px!important;max-height:55px!important;margin:0!important;padding:0 18px!important;border-radius:10px 10px 0 0!important}
body.tt-desktop .tt-categories-dropdown{top:55px!important;left:0!important;width:100%!important;min-width:100%!important;max-width:100%!important;margin:0!important;transform:none!important}
body.tt-desktop .tt-primary-nav{grid-column:2!important;width:100%!important;min-width:0!important;height:55px!important;margin:0!important;padding:0 0 0 8px!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important}
body.tt-desktop .tt-primary-nav>ul,body.tt-desktop .tt-primary-nav>.menu{height:55px!important;min-height:55px!important;max-height:55px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}
body.tt-desktop .tt-primary-nav>ul>li,body.tt-desktop .tt-primary-nav>.menu>li{height:55px!important;margin:0!important;padding:0!important;display:flex!important;align-items:stretch!important}
body.tt-desktop .tt-primary-nav>ul>li>a,body.tt-desktop .tt-primary-nav>.menu>li>a{height:55px!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;display:flex!important;align-items:center!important;white-space:nowrap!important}

/* Desktop footer geometry/content style is identical on every route. */
body.tt-desktop .tt-footer-desktop{display:block!important;width:100%!important;margin:44px 0 0!important;padding:0!important;background:#fff!important;color:#374151!important;border-top:1px solid #eceff2!important;transform:none!important}
body.tt-desktop .tt-footer-cta{width:min(calc(100% - var(--tt-pad)*2),var(--tt-container))!important;max-width:var(--tt-container)!important;min-height:78px!important;margin:0 auto 22px!important;padding:0!important;border-radius:14px!important;transform:none!important;overflow:hidden!important}
body.tt-desktop .tt-footer-cta>.tt-container{width:100%!important;max-width:none!important;min-height:78px!important;margin:0!important;padding:16px 22px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
body.tt-desktop .tt-footer-cta strong{margin:0!important;font-size:20px!important;line-height:1.2!important}
body.tt-desktop .tt-footer-cta-actions{display:flex!important;align-items:center!important;gap:10px!important;flex:none!important}
body.tt-desktop .tt-footer-main{width:100%!important;margin:0!important;padding:0!important;background:#fff!important}
body.tt-desktop .tt-footer-grid{display:grid!important;grid-template-columns:1.35fr 1fr 1fr 1fr!important;gap:28px!important;min-height:190px!important;margin-inline:auto!important;padding:18px 0 28px!important;align-items:start!important}
body.tt-desktop .tt-footer h4{margin:0 0 13px!important;color:#111827!important;font-size:16px!important;line-height:1.3!important}
body.tt-desktop .tt-footer-logo{height:58px!important;display:flex!important;align-items:center!important;overflow:hidden!important}
body.tt-desktop .tt-footer-logo .tt-logo,body.tt-desktop .tt-footer-logo .custom-logo-link{height:54px!important;max-width:210px!important;margin:0!important;padding:0!important}
body.tt-desktop .tt-footer-logo img{width:auto!important;height:auto!important;max-width:210px!important;max-height:54px!important;object-fit:contain!important}
body.tt-desktop .tt-footer-company>strong{font-size:13px!important;line-height:1.45!important}
body.tt-desktop .tt-footer-company>p{margin:6px 0!important;font-size:11px!important}
body.tt-desktop .tt-footer-contact,body.tt-desktop .tt-footer-line{font-size:11px!important;line-height:1.45!important}
body.tt-desktop .tt-footer-contact b{font-size:12px!important}
body.tt-desktop .tt-footer-nav a{font-size:11px!important}
body.tt-desktop .tt-copyright{height:40px!important;min-height:40px!important;max-height:40px!important;margin:0!important;padding:0!important;background:#111827!important;color:#d1d5db!important;border:0!important;overflow:hidden!important}
body.tt-desktop .tt-copyright>.tt-container{height:40px!important;min-height:40px!important;max-height:40px!important;margin-inline:auto!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;font-size:10px!important}

/* Stable desktop breakpoints. They apply to ALL routes, not only legacy/core pages. */
@media(max-width:1599px) and (min-width:1440px){body.tt-desktop{--tt-container:1360px!important;--tt-pad:24px!important}}
@media(max-width:1439px) and (min-width:1280px){
 body.tt-desktop{--tt-container:1280px!important;--tt-pad:18px!important;--tt-category-width:270px!important;--tt-nav-gap:14px!important}
 body.tt-desktop .tt-head-main{grid-template-columns:205px minmax(300px,1fr) 155px 76px 86px!important;gap:12px!important}
 body.tt-desktop .tt-head-logo .tt-logo,body.tt-desktop .tt-head-logo .custom-logo-link{max-width:200px!important}
 body.tt-desktop .tt-head-logo img{max-width:200px!important;max-height:52px!important}
 body.tt-desktop .tt-primary-nav>ul,body.tt-desktop .tt-primary-nav>.menu{gap:19px!important}
 body.tt-desktop .tt-primary-nav>ul>li>a,body.tt-desktop .tt-primary-nav>.menu>li>a{font-size:12px!important}
 body.tt-desktop .tt-footer-grid{grid-template-columns:1.25fr .95fr 1.05fr .8fr!important;gap:22px!important}
}
@media(max-width:1279px) and (min-width:768px){
 body.tt-desktop{--tt-container:1160px!important;--tt-pad:14px!important;--tt-category-width:240px!important;--tt-nav-gap:10px!important}
 body.tt-desktop .tt-head-main{grid-template-columns:175px minmax(260px,1fr) 135px 70px 78px!important;gap:10px!important}
 body.tt-desktop .tt-head-logo .tt-logo,body.tt-desktop .tt-head-logo .custom-logo-link{max-width:170px!important}
 body.tt-desktop .tt-head-logo img{max-width:170px!important;max-height:48px!important}
 body.tt-desktop .tt-primary-nav{padding-left:4px!important}
 body.tt-desktop .tt-primary-nav>ul,body.tt-desktop .tt-primary-nav>.menu{gap:12px!important}
 body.tt-desktop .tt-primary-nav>ul>li>a,body.tt-desktop .tt-primary-nav>.menu>li>a{font-size:11px!important}
 body.tt-desktop .tt-footer-grid{grid-template-columns:1.2fr .9fr 1.05fr .8fr!important;gap:18px!important}
}

/* Mobile shell is one fixed geometry on every mobile frontend route. */
body.tt-mobile{--tt-container:100%!important;--tt-pad:10px!important;min-height:100dvh!important;padding-bottom:116px!important}
body.tt-mobile .tt-container{width:calc(100% - var(--tt-pad)*2)!important;max-width:none!important;margin-inline:auto!important}
body.tt-mobile .tt-header-mobile{display:block!important;position:sticky!important;top:0!important;z-index:500!important;width:100%!important;height:159px!important;min-height:159px!important;max-height:159px!important;margin:0!important;padding:6px 8px 8px!important;border-bottom:1px solid #e8ebef!important;background:#fff!important;overflow:visible!important;transform:none!important}
body.tt-mobile .tt-mobile-bar{height:52px!important;min-height:52px!important;max-height:52px!important;margin:0!important}
body.tt-mobile .tt-mobile-logo{height:52px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
body.tt-mobile .tt-mobile-logo .tt-logo,body.tt-mobile .tt-mobile-logo .custom-logo-link{height:36px!important;max-width:160px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important}
body.tt-mobile .tt-mobile-logo img{width:auto!important;height:auto!important;max-width:155px!important;max-height:36px!important;object-fit:contain!important}
body.tt-mobile .tt-mobile-search{height:40px!important;min-height:40px!important;max-height:40px!important;margin:6px 0 0!important}
body.tt-mobile .tt-mobile-quick{height:38px!important;min-height:38px!important;max-height:38px!important;margin:9px 0 0!important}
body.tt-mobile .tt-mobile-quick>a{height:38px!important;min-height:38px!important;max-height:38px!important}
body.tt-mobile .tt-bottom-nav{height:58px!important;min-height:58px!important;max-height:58px!important}
body.tt-mobile .tt-mobile-cta{height:40px!important;min-height:40px!important;max-height:40px!important;bottom:65px!important}
@media(max-width:389px){body.tt-mobile{--tt-pad:8px!important}}

/* v3.4.5 — deterministic WordPress nav hierarchy: one arrow, compact submenus */
body.tt-desktop .tt-primary-nav li.menu-item-has-children>a:before,
body.tt-desktop .tt-primary-nav li.menu-item-has-children>a:after,
body.tt-desktop .tt-primary-nav li>a>.icon-angle-down,
body.tt-desktop .tt-primary-nav li>a>.nav-dropdown-toggle,
body.tt-desktop .tt-primary-nav li>a>i[class*="angle"],
body.tt-desktop .tt-primary-nav li>a>svg[class*="angle"]{display:none!important;content:none!important}
body.tt-desktop .tt-primary-nav .tt-menu-label{display:block;min-width:0}
body.tt-desktop .tt-primary-nav .tt-menu-arrow{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 14px;width:14px;height:18px;margin-left:6px;color:#7b8490;font-size:12px;font-weight:700;line-height:1;transition:transform .16s ease,color .16s ease}
body.tt-desktop .tt-primary-nav>ul>li.menu-item-has-children:hover>a>.tt-menu-arrow,
body.tt-desktop .tt-primary-nav>ul>li.menu-item-has-children:focus-within>a>.tt-menu-arrow{transform:rotate(180deg);color:#e3131b}
body.tt-desktop .tt-primary-nav>ul>li.current-menu-item>a,
body.tt-desktop .tt-primary-nav>ul>li.current-menu-ancestor>a,
body.tt-desktop .tt-primary-nav>ul>li.current_page_item>a{box-shadow:inset 0 -3px #e3131b!important}
body.tt-desktop .tt-primary-nav .sub-menu{top:55px!important;left:-10px!important;min-width:240px!important;width:max-content!important;max-width:320px!important;padding:7px!important;border:1px solid #e1e5ea!important;border-radius:0 0 12px 12px!important;background:#fff!important;box-shadow:0 16px 36px rgba(15,23,42,.12)!important}
body.tt-desktop .tt-primary-nav .sub-menu li{height:auto!important;min-height:0!important;display:block!important;align-items:initial!important;white-space:normal!important}
body.tt-desktop .tt-primary-nav .sub-menu>li>a{height:auto!important;min-height:42px!important;max-height:none!important;width:100%!important;display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:9px 10px!important;border-radius:8px!important;box-shadow:none!important;color:#374151!important;font-size:13px!important;font-weight:700!important;line-height:1.25!important;white-space:normal!important;background:#fff!important}
body.tt-desktop .tt-primary-nav .sub-menu>li>a:hover,
body.tt-desktop .tt-primary-nav .sub-menu>li:focus-within>a{background:#fff4f4!important;color:#e3131b!important}
body.tt-desktop .tt-primary-nav .sub-menu>li>a>.tt-menu-label{flex:1;min-width:0}
body.tt-desktop .tt-primary-nav .sub-menu>li>a>.tt-menu-arrow{margin-left:auto!important;transform:rotate(-90deg)!important;color:#7b8490!important}
body.tt-desktop .tt-primary-nav .sub-menu>li:hover>a>.tt-menu-arrow,
body.tt-desktop .tt-primary-nav .sub-menu>li:focus-within>a>.tt-menu-arrow{color:#e3131b!important;transform:rotate(-90deg) translateY(2px)!important}
body.tt-desktop .tt-primary-nav .sub-menu .sub-menu{top:-8px!important;left:calc(100% + 6px)!important;border-radius:12px!important}
body.tt-desktop .tt-primary-nav>ul>li:nth-last-child(-n+2) .sub-menu .sub-menu{left:auto!important;right:calc(100% + 6px)!important}
body.tt-mobile #tt-mobile-drawer .tt-menu-arrow{display:none!important}
body.tt-desktop .tt-primary-nav .sub-menu{display:none!important}
body.tt-desktop .tt-primary-nav li:hover>.sub-menu,
body.tt-desktop .tt-primary-nav li:focus-within>.sub-menu{display:block!important}


/* v3.4.6 — deterministic header menu; no Flatsome nav classes are used */
body.tt-desktop .tt-primary-nav{grid-column:2!important;display:block!important;min-width:0!important;width:100%!important;margin:0!important;padding-left:8px!important;overflow:visible!important}
body.tt-desktop .tt-primary-nav .tt-primary-menu{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:30px!important;width:100%!important;height:56px!important;margin:0!important;padding:0!important;list-style:none!important;overflow:visible!important}
body.tt-desktop .tt-primary-nav .tt-nav-item{position:relative!important;display:block!important;flex:0 0 auto!important;margin:0!important;padding:0!important;list-style:none!important}
body.tt-desktop .tt-primary-nav .tt-nav-link{position:relative!important;display:flex!important;align-items:center!important;gap:6px!important;height:56px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#111827!important;font-size:14px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important}
body.tt-desktop .tt-primary-nav .tt-menu-arrow{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:14px!important;height:18px!important;margin:0!important;color:#778190!important;font-size:13px!important;line-height:1!important;transform:none!important;transition:transform .16s ease,color .16s ease!important}
body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-has-children:hover>.tt-nav-link>.tt-menu-arrow,body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-has-children:focus-within>.tt-nav-link>.tt-menu-arrow{transform:rotate(180deg)!important;color:#e3131b!important}
body.tt-desktop .tt-primary-nav .tt-nav-item.is-current>.tt-nav-link,body.tt-desktop .tt-primary-nav .tt-nav-item.is-ancestor>.tt-nav-link,body.tt-desktop .tt-primary-nav .tt-nav-link:hover{color:#e3131b!important}
body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-nav-item.is-current>.tt-nav-link:after,body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-nav-item.is-ancestor>.tt-nav-link:after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:3px!important;border-radius:99px!important;background:#e3131b!important}
body.tt-desktop .tt-primary-nav .tt-nav-submenu{position:absolute!important;top:56px!important;left:-14px!important;z-index:400!important;display:none!important;min-width:240px!important;width:max-content!important;max-width:320px!important;margin:0!important;padding:7px!important;border:1px solid #e1e5ea!important;border-radius:0 0 12px 12px!important;background:#fff!important;box-shadow:0 16px 36px rgba(15,23,42,.13)!important;list-style:none!important}
body.tt-desktop .tt-primary-nav .tt-nav-item:hover>.tt-nav-submenu,body.tt-desktop .tt-primary-nav .tt-nav-item:focus-within>.tt-nav-submenu{display:block!important}
body.tt-desktop .tt-primary-nav .tt-nav-submenu>.tt-nav-item{width:100%!important;white-space:normal!important}
body.tt-desktop .tt-primary-nav .tt-nav-submenu>.tt-nav-item>.tt-nav-link{width:100%!important;height:auto!important;min-height:42px!important;padding:9px 10px!important;border-radius:8px!important;color:#374151!important;font-size:13px!important;font-weight:700!important;line-height:1.25!important;white-space:normal!important}
body.tt-desktop .tt-primary-nav .tt-nav-submenu>.tt-nav-item>.tt-nav-link:hover,body.tt-desktop .tt-primary-nav .tt-nav-submenu>.tt-nav-item:focus-within>.tt-nav-link{background:#fff4f4!important;color:#e3131b!important}
body.tt-desktop .tt-primary-nav .tt-nav-submenu>.tt-has-children>.tt-nav-link>.tt-menu-label{flex:1!important;min-width:0!important}
body.tt-desktop .tt-primary-nav .tt-nav-submenu>.tt-has-children>.tt-nav-link>.tt-menu-arrow{margin-left:auto!important;transform:rotate(-90deg)!important}
body.tt-desktop .tt-primary-nav .tt-nav-submenu .tt-nav-submenu{top:-8px!important;left:calc(100% + 6px)!important;border-radius:12px!important}
body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-nav-item:nth-last-child(-n+2) .tt-nav-submenu .tt-nav-submenu{left:auto!important;right:calc(100% + 6px)!important}
@media(max-width:1439px) and (min-width:1280px){body.tt-desktop .tt-primary-nav .tt-primary-menu{gap:19px!important}body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-nav-item>.tt-nav-link{font-size:12px!important}}
@media(max-width:1279px) and (min-width:768px){body.tt-desktop .tt-primary-nav{padding-left:4px!important}body.tt-desktop .tt-primary-nav .tt-primary-menu{gap:12px!important}body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-nav-item>.tt-nav-link{font-size:11px!important}}

/* Mobile deterministic menu */
body.tt-mobile .tt-mobile-site-nav{display:block!important;width:100%!important;margin:0!important;padding:0!important}
body.tt-mobile .tt-mobile-site-nav ul{margin:0!important;padding:0!important;list-style:none!important}
body.tt-mobile .tt-mobile-site-nav .tt-nav-item{position:relative!important;margin:0!important;padding:0!important;border-bottom:1px solid #edf0f3!important}
body.tt-mobile .tt-mobile-site-nav .tt-nav-link{display:flex!important;align-items:center!important;min-height:48px!important;padding:10px 42px 10px 14px!important;color:#202a38!important;font-size:14px!important;font-weight:750!important;line-height:1.25!important}
body.tt-mobile .tt-mobile-site-nav .tt-menu-arrow{display:none!important}
body.tt-mobile .tt-mobile-site-nav .tt-nav-submenu{display:none!important;margin:0!important;padding:0 0 6px 14px!important;background:#fafbfc!important}
body.tt-mobile .tt-mobile-site-nav .tt-nav-item.is-sub-open>.tt-nav-submenu{display:block!important}
body.tt-mobile .tt-mobile-site-nav .tt-nav-submenu .tt-nav-link{min-height:42px!important;font-size:13px!important;font-weight:650!important}
body.tt-mobile .tt-mobile-site-nav .tt-mobile-sub-toggle{position:absolute!important;top:7px!important;right:8px!important;z-index:2!important;width:34px!important;height:34px!important;border:0!important;border-radius:8px!important;background:#f3f5f7!important;color:#596273!important;font-size:18px!important;line-height:1!important}
body.tt-mobile .tt-mobile-site-nav .tt-nav-item.is-sub-open>.tt-mobile-sub-toggle{transform:rotate(180deg)!important;color:#e3131b!important}

/* v3.5.0 success notices hidden by frontend setting; errors/info stay visible. */
body.tt-hide-woo-success .woocommerce-message{display:none!important}

/* v3.8.1 — cleaner desktop bottom header/navigation.
   Remove full-width separator lines; keep only the active menu underline. */
body.tt-desktop .tt-nav-wrap{
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body.tt-desktop .tt-nav-row{
  border:0!important;
  box-shadow:none!important;
}
body.tt-desktop .tt-primary-nav,
body.tt-desktop .tt-primary-nav .tt-primary-menu,
body.tt-desktop .tt-primary-nav>.menu{
  border:0!important;
  box-shadow:none!important;
}
body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-nav-item.is-current>.tt-nav-link:after,
body.tt-desktop .tt-primary-nav>.tt-primary-menu>.tt-nav-item.is-ancestor>.tt-nav-link:after,
body.tt-desktop .tt-primary-nav>ul>li.current-menu-item>a:after,
body.tt-desktop .tt-primary-nav>ul>li.current_page_item>a:after{
  bottom:3px!important;
  height:2px!important;
  border-radius:999px!important;
}
