/* Site header (common/header.php). Self-contained: does not rely on theme menu CSS. */
.tf-h, .tf-h * { box-sizing: border-box; }
.tf-h {
  --tf-navy: #132136; --tf-blue: #0A94C9; --tf-ink: #1A1F36; --tf-muted: #5B6478; --tf-line: #E8EDF5;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  position: relative; z-index: 1000;
}
.tf-h a { text-decoration: none; }
.tf-h ul { list-style: none; margin: 0; padding: 0; }
.tf-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }

/* Top strip */
.tf-top { background: var(--tf-navy); color: rgba(255,255,255,.82); font-size: 13px; }
.tf-top .tf-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 42px; }
.tf-top-info { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.tf-top-info a, .tf-top-info span { color: rgba(255,255,255,.82); display: inline-flex; align-items: center; gap: 8px; line-height: 1.3; }
.tf-top-info a:hover { color: #fff; }
.tf-top-info .fa { color: #47C1F2; font-size: 14px; }
.tf-social { display: flex; align-items: center; gap: 6px; }
.tf-social a {
  width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  color: #fff; background: rgba(255,255,255,.08); transition: background .2s; font-size: 13px;
}
.tf-social a:hover { background: var(--tf-blue); }
.tf-social .tf-sep { width: 1px; height: 18px; background: rgba(255,255,255,.2); margin: 0 8px; }
.tf-hours { color: rgba(255,255,255,.6); font-size: 12.5px; }

/* Main bar */
.tf-bar { background: #fff; border-bottom: 1px solid var(--tf-line); transition: box-shadow .25s; }
.tf-bar.is-fixed { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 8px 30px rgba(19,33,54,.08); animation: tfDrop .25s ease; }
@keyframes tfDrop { from { transform: translateY(-100%); } to { transform: none; } }
.tf-bar .tf-wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 78px; }
.tf-logo img { height: 44px; width: auto; display: block; }
.tf-menu { display: flex; align-items: center; gap: 4px; }
.tf-menu > li { position: relative; }
.tf-menu > li > a, .tf-menu > li > button {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 10px;
  font-size: 15px; font-weight: 600; color: var(--tf-ink); background: none; border: 0; cursor: pointer; font-family: inherit;
}
.tf-menu > li > a:hover, .tf-menu > li > button:hover, .tf-menu > li.is-active > a { color: var(--tf-blue); background: #EEF8FD; }
.tf-menu .tf-chev { font-size: 11px; transition: transform .2s; }
.tf-actions { display: flex; align-items: center; gap: 12px; }
.tf-cta {
  display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 60px; font-weight: 600; font-size: 14.5px;
  color: #fff !important; background: linear-gradient(105deg, #0A94C9, #054A85); box-shadow: 0 6px 16px rgba(10,148,201,.3); transition: transform .2s, box-shadow .2s;
}
.tf-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(10,148,201,.4); }
.tf-call { display: inline-flex; align-items: center; gap: 10px; color: var(--tf-ink); font-weight: 700; font-size: 14.5px; }
.tf-call .ic { width: 38px; height: 38px; border-radius: 50%; background: #EEF8FD; color: var(--tf-blue); display: inline-flex; align-items: center; justify-content: center; }
.tf-call small { display: block; font-size: 11.5px; color: var(--tf-muted); font-weight: 500; }
.tf-toggle { display: none; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--tf-line); background: #fff; color: var(--tf-ink); font-size: 18px; cursor: pointer; }

/* Services mega menu */
.tf-mega {
  position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(6px);
  width: 860px; background: #fff; border-radius: 18px; border: 1px solid var(--tf-line);
  box-shadow: 0 30px 60px rgba(19,33,54,.14); padding: 18px; opacity: 0; visibility: hidden; transition: all .2s;
}
.tf-mega::before { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
.tf-has-mega:hover .tf-mega, .tf-has-mega:focus-within .tf-mega, .tf-has-mega.is-open .tf-mega { opacity: 1; visibility: visible; transform: translateX(-50%); }
.tf-has-mega:hover .tf-chev, .tf-has-mega.is-open .tf-chev { transform: rotate(180deg); }
.tf-mega-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.tf-mega a { display: flex; gap: 12px; padding: 12px; border-radius: 12px; align-items: flex-start; transition: background .15s; }
.tf-mega a:hover { background: #F3FAFD; }
.tf-mega .mi {
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  background: #E8F6FC; color: var(--tf-blue); font-size: 16px;
}
.tf-mega b { display: block; color: var(--tf-ink); font-size: 14px; font-weight: 600; line-height: 1.3; }
.tf-mega small { display: block; color: var(--tf-muted); font-size: 12px; margin-top: 2px; }
.tf-mega-foot {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; padding: 14px 16px;
  border-radius: 12px; background: #F3FAFD; font-size: 13.5px; color: var(--tf-muted);
}
.tf-mega-foot a { padding: 0; display: inline; color: var(--tf-blue); font-weight: 600; }
.tf-mega-foot a:hover { background: none; text-decoration: underline; }

/* Tablet and mobile */
@media (max-width: 1199px) {
  .tf-call { display: none; }
  .tf-menu > li > a, .tf-menu > li > button { padding: 10px 10px; }
  .tf-mega { width: 760px; }
}
@media (max-width: 991px) {
  .tf-top-info .tf-addr, .tf-hours, .tf-social .tf-sep { display: none; }
  .tf-bar .tf-wrap { height: 68px; }
  .tf-logo img { height: 38px; }
  .tf-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .tf-nav {
    position: fixed; inset: 0 0 0 auto; width: min(360px, 88vw); background: #fff; z-index: 1100;
    transform: translateX(100%); transition: transform .3s ease; overflow-y: auto; padding: 76px 18px 28px;
    box-shadow: -20px 0 40px rgba(19,33,54,.15);
  }
  .tf-h.nav-open .tf-nav { transform: none; }
  .tf-backdrop { position: fixed; inset: 0; background: rgba(19,33,54,.45); z-index: 1050; opacity: 0; visibility: hidden; transition: opacity .3s; }
  .tf-h.nav-open .tf-backdrop { opacity: 1; visibility: visible; }
  .tf-close { position: absolute; top: 16px; right: 16px; }
  .tf-menu { flex-direction: column; align-items: stretch; gap: 2px; }
  .tf-menu > li > a, .tf-menu > li > button { width: 100%; justify-content: space-between; padding: 14px 12px; font-size: 16px; }
  .tf-mega {
    position: static; transform: none !important; width: auto; opacity: 1; visibility: visible; box-shadow: none; border: 0;
    padding: 0 0 8px; display: none;
  }
  .tf-has-mega:hover .tf-mega { display: none; }
  .tf-has-mega.is-open .tf-mega { display: block; }
  .tf-mega-grid { grid-template-columns: 1fr; }
  .tf-mega a { padding: 10px 12px; }
  .tf-mega small, .tf-mega-foot { display: none; }
  .tf-nav .tf-cta { display: flex; justify-content: center; margin-top: 18px; }
  .tf-nav-contact { display: block !important; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--tf-line); font-size: 14px; color: var(--tf-muted); }
  .tf-nav-contact a, .tf-nav-contact span { display: flex; gap: 10px; align-items: center; color: var(--tf-ink); padding: 6px 0; }
  .tf-nav-contact .fa { color: var(--tf-blue); width: 16px; }
  .tf-actions > .tf-cta { display: none; }
}
@media (max-width: 575px) {
  .tf-top-info .tf-mail { display: none; }
  .tf-top .tf-wrap { min-height: 38px; }
}
@media (min-width: 992px) {
  .tf-close, .tf-backdrop, .tf-nav-contact, .tf-nav .tf-cta { display: none !important; }
}

/* Mobile drawer, refined */
.tf-nav-head { display: none; }
@media (max-width: 991px) {
  .tf-nav { padding: 0 0 24px; display: flex; flex-direction: column; width: min(380px, 92vw); border-radius: 22px 0 0 22px; }
  .tf-nav-head {
    display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--tf-line);
    position: sticky; top: 0; background: #fff; z-index: 2;
  }
  .tf-nav-head img { height: 34px; width: auto; display: block; }
  .tf-close { position: static; width: 40px; height: 40px; border-radius: 50%; background: #F3FAFD; border: 0; }
  .tf-menu { padding: 12px 12px 0; }
  .tf-menu > li > a, .tf-menu > li > button { font-size: 16.5px; padding: 15px 14px; border-radius: 14px; }
  .tf-menu > li.is-active > a, .tf-menu > li.is-active > button { background: #EEF8FD; color: #054A85; }
  .tf-menu > li + li { border-top: 1px solid #F1F4F8; }
  .tf-has-mega.is-open > button { background: #EEF8FD; color: #054A85; }
  .tf-mega-grid { grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px 4px 6px; }
  .tf-mega a {
    flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px; border: 1px solid var(--tf-line); border-radius: 14px; background: #fff;
  }
  .tf-mega .mi { width: 34px; height: 34px; font-size: 15px; }
  .tf-mega b { font-size: 13px; line-height: 1.3; }
  .tf-nav-contact { display: block !important; margin: 18px 16px 0; padding: 0; border: 0; order: 3; }
  .tf-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .tf-quick a {
    display: flex !important; flex-direction: column; align-items: center; gap: 6px !important; padding: 14px 6px !important;
    border-radius: 14px; background: #F3FAFD; color: #132136 !important; font-weight: 600; font-size: 13px;
  }
  .tf-quick a .fa { font-size: 18px; color: #0A94C9; width: auto; }
  .tf-nav-addr { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; color: var(--tf-muted); margin: 14px 2px 0; line-height: 1.5; }
  .tf-nav-addr .fa { color: #0A94C9; margin-top: 3px; }
  .tf-nav .tf-cta { order: 4; margin: 16px 16px 0 !important; padding: 15px; font-size: 15.5px; }
  .tf-menu { order: 2; }
  .tf-nav-head { order: 1; }
}

/* Floating actions on the right */
a.float { left: auto !important; right: 20px !important; bottom: 22px !important; width: 54px !important; height: 54px !important; display: flex !important; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(19,33,54,.25) !important; z-index: 998 !important; }
a.float .my-float { margin: 0 !important; }
.tf-fab {
  position: fixed; right: 20px; bottom: 88px; z-index: 998; display: inline-flex; align-items: center; gap: 8px;
  height: 54px; padding: 0 20px 0 18px; border-radius: 60px; color: #fff !important; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14.5px;
  background: linear-gradient(105deg, #054A85, #0A94C9); box-shadow: 0 10px 24px rgba(5,74,133,.35); text-decoration: none; transition: transform .2s;
}
.tf-fab:hover { transform: translateY(-2px); }
.tf-fab .fa { font-size: 17px; }
#scrollUp { bottom: 154px !important; right: 24px !important; }
@media (max-width: 575px) {
  .tf-fab { width: 54px; padding: 0; justify-content: center; }
  .tf-fab span { display: none; }
  a.float { right: 16px !important; bottom: 16px !important; }
  .tf-fab { right: 16px; bottom: 80px; }
  #scrollUp { right: 20px !important; bottom: 146px !important; }
}

/* Keep the main bar on one line at every desktop width */
.tf-menu > li > a, .tf-menu > li > button, .tf-cta, .tf-call, .tf-call span { white-space: nowrap; }
.tf-logo { flex-shrink: 0; }
.tf-logo img { height: 40px; }
.tf-bar .tf-wrap { gap: 16px; }
@media (max-width: 1279px) and (min-width: 992px) {
  .tf-call { display: none; }
  .tf-logo img { height: 34px; }
  .tf-menu { gap: 0; }
  .tf-menu > li > a, .tf-menu > li > button { padding: 9px 10px; font-size: 14.5px; }
  .tf-cta { padding: 10px 16px; font-size: 14px; }
}
@media (max-width: 1099px) and (min-width: 992px) {
  .tf-logo img { height: 30px; }
  .tf-menu > li > a, .tf-menu > li > button { padding: 8px 7px; font-size: 14px; }
  .tf-top-info .tf-mail { display: none; }
}

/* ===== Footer ===== */
.tf-footer { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #0E1A2C; color: rgba(255,255,255,.72); position: relative; overflow: hidden; }
.tf-footer::before { content: ""; position: absolute; width: 700px; height: 700px; right: -220px; top: 120px; border-radius: 50%; background: radial-gradient(circle, rgba(10,148,201,.22), transparent 65%); pointer-events: none; }
.tf-footer::after { content: ""; position: absolute; width: 520px; height: 520px; left: -200px; bottom: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(71,193,242,.12), transparent 65%); pointer-events: none; }
.tf-footer a { text-decoration: none; }
.tf-footer ul { list-style: none; margin: 0; padding: 0; }
.tf-f-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 1; }

/* CTA band */
.tf-f-cta { padding: 56px 0 0; }
.tf-f-cta-in {
  display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px 44px; border-radius: 26px;
  background: linear-gradient(115deg, #054A85 0%, #0A94C9 70%, #47C1F2 130%); box-shadow: 0 30px 60px rgba(0,0,0,.25);
}
.tf-f-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(255,255,255,.16); padding: 6px 12px; border-radius: 60px; margin-bottom: 12px; }
.tf-f-cta h2 { font-family: 'Inter', sans-serif; color: #fff; font-size: 27px; font-weight: 800; margin: 0 0 8px; letter-spacing: -0.02em; line-height: 1.2; }
.tf-f-cta p { color: rgba(255,255,255,.88); margin: 0; font-size: 16px; max-width: 560px; line-height: 1.6; }
.tf-f-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; flex-shrink: 0; }
.tf-f-btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; border-radius: 60px; font-weight: 700; font-size: 15px; background: #fff; color: #054A85 !important; transition: transform .2s, box-shadow .2s; white-space: nowrap; }
.tf-f-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(0,0,0,.2); }
.tf-f-btn.ghost { background: transparent; color: #fff !important; border: 1.5px solid rgba(255,255,255,.6); }

/* Main columns */
.tf-f-main { padding: 64px 0 40px; }
.tf-f-grid { display: grid; grid-template-columns: 1.35fr 1.25fr .9fr 1.1fr; gap: 48px; }
.tf-f-brand img { height: auto; width: 270px; max-width: 100%; display: block; margin-bottom: 18px; }
.tf-f-name { color: #fff; font-weight: 700; font-size: 15px; margin: 0 0 8px; }
.tf-f-brand p { font-size: 14.5px; line-height: 1.7; margin: 0 0 18px; color: rgba(255,255,255,.7); }
.tf-f-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.tf-f-badges span { display: inline-flex; gap: 7px; align-items: center; font-size: 12.5px; font-weight: 600; color: #fff; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); padding: 6px 12px; border-radius: 60px; }
.tf-f-badges .fa { color: #47C1F2; }
.tf-f-social { display: flex; gap: 10px; }
.tf-f-social a { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); transition: all .2s; font-size: 16px; }
.tf-f-social a:hover { background: #0A94C9; border-color: #0A94C9; transform: translateY(-2px); }
.tf-footer .widget-title { font-family: 'Inter', sans-serif; color: #fff; font-size: 16px; font-weight: 700; margin: 0 0 18px; padding: 0 0 12px; position: relative; letter-spacing: .01em; }
.tf-footer .widget-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #0A94C9, #47C1F2); }
.tf-footer .site-map li { margin-bottom: 10px; font-size: 14.5px; }
.tf-footer .site-map a { color: rgba(255,255,255,.72); transition: color .2s, padding .2s; display: inline-block; }
.tf-footer .site-map a:hover { color: #47C1F2; padding-left: 4px; }
.tf-f-services .site-map { column-count: 1; }
.tf-f-plain li { color: rgba(255,255,255,.6); position: relative; padding-left: 14px; }
.tf-f-plain li::before { content: ""; position: absolute; left: 0; top: 9px; width: 5px; height: 5px; border-radius: 50%; background: #47C1F2; }
.tf-f-contact li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; font-size: 14.5px; line-height: 1.6; }
.tf-f-contact li > .fa { width: 34px; height: 34px; flex-shrink: 0; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: rgba(10,148,201,.15); color: #47C1F2; font-size: 15px; }
.tf-f-contact .desc, .tf-f-contact a { color: rgba(255,255,255,.75); }
.tf-f-contact a:hover { color: #47C1F2; }
.tf-f-wa { display: inline-flex; gap: 10px; align-items: center; margin-top: 6px; padding: 12px 18px; border-radius: 12px; background: rgba(72,198,87,.12); border: 1px solid rgba(72,198,87,.35); color: #7BE08A !important; font-weight: 600; font-size: 14px; transition: background .2s; }
.tf-f-wa:hover { background: rgba(72,198,87,.22); }

/* Bottom bar */
.tf-f-bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 20px 0; }
.tf-f-bottom .tf-f-wrap { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.tf-f-bottom p { margin: 0; font-size: 13.5px; color: rgba(255,255,255,.55); }
.tf-f-links { display: flex; gap: 20px; }
.tf-f-links a { color: rgba(255,255,255,.6); font-size: 13.5px; }
.tf-f-links a:hover { color: #47C1F2; }

@media (max-width: 1199px) {
  .tf-f-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 767px) {
  .tf-f-cta { padding: 36px 0 0; }
  .tf-f-cta-in { flex-direction: column; align-items: flex-start; padding: 28px 22px; border-radius: 20px; }
  .tf-f-cta h2 { font-size: 24px; }
  .tf-f-cta-btns { width: 100%; }
  .tf-f-btn { flex: 1 1 100%; justify-content: center; }
  .tf-f-main { padding: 44px 0 26px; }
  .tf-f-grid { grid-template-columns: 1fr; gap: 34px; }
  .tf-f-services .site-map { column-count: 2; column-gap: 18px; }
  .tf-f-services .site-map li { break-inside: avoid; font-size: 13.5px; }
  .tf-f-bottom .tf-f-wrap { flex-direction: column; align-items: flex-start; padding-bottom: 70px; }
}
a.float { padding: 0 !important; line-height: 0 !important; }
a.float .my-float, a.float img { display: block !important; margin: 0 auto !important; position: static !important; width: 28px !important; height: 28px !important; transform: none !important; top: auto !important; }

/* Proportionate theme headings site-wide */
.sec-title .title, .sec-title2 .title { font-size: 34px; line-height: 1.25; }
@media (max-width: 767px) { .sec-title .title, .sec-title2 .title { font-size: 26px; } }

/* Categorised services mega menu */
.tf-mega { width: 1060px; padding: 22px; }
.tf-mega-cats { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr; gap: 18px; }
.tf-mega-cat { display: flex; flex-direction: column; gap: 2px; }
.tf-mega-cat + .tf-mega-cat { border-left: 1px solid var(--tf-line); padding-left: 16px; }
.tf-mega-h { display: flex; align-items: center; gap: 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #054A85; padding: 4px 12px 10px; }
.tf-mega-h i { color: #0A94C9; }
.tf-mega-cat a { padding: 10px 12px; }
.tf-mega-cat .mi { width: 34px; height: 34px; font-size: 14px; }
.tf-mega-cat b { font-size: 13.5px; }
@media (max-width: 1199px) and (min-width: 992px) {
  .tf-mega { width: 940px; left: 20%; }
  .tf-mega-cats { grid-template-columns: repeat(2, 1fr); }
  .tf-mega-cat + .tf-mega-cat { border-left: 0; padding-left: 0; }
}
@media (min-width: 1200px) and (max-width: 1360px) { .tf-mega { left: 40%; } }
@media (max-width: 991px) {
  .tf-mega-cats { grid-template-columns: 1fr; gap: 6px; padding: 6px 4px; }
  .tf-mega-cat + .tf-mega-cat { border-left: 0; padding-left: 0; }
  .tf-mega-h { padding: 12px 6px 8px; }
  .tf-mega-cat { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .tf-mega-cat .tf-mega-h { grid-column: 1 / -1; }
}
/* Mega menu: balanced columns, compact rows */
@media (min-width: 1200px) {
  .tf-mega { width: min(1180px, calc(100vw - 40px)); max-height: calc(100vh - 140px); overflow-y: auto; padding: 18px 18px 14px; }
  .tf-mega-cats { grid-template-columns: repeat(4, 1fr); gap: 12px; }
  .tf-mega-cat + .tf-mega-cat { padding-left: 12px; }
  .tf-mega-cat a { padding: 7px 10px; gap: 10px; align-items: center; }
  .tf-mega-cat .mi { width: 32px; height: 32px; font-size: 13px; border-radius: 9px; }
  .tf-mega-cat b { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .tf-mega-cat small { font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .tf-mega-cat a > span:last-child { min-width: 0; }
  .tf-mega-h { white-space: nowrap; padding: 4px 10px 8px; font-size: 11px; }
  .tf-mega-foot { margin-top: 10px; padding: 11px 14px; }
}
@media (min-width: 1200px) and (max-width: 1360px) { .tf-mega { left: 50%; } }
/* Centre the mega menu on the header bar, not on the Services link */
@media (min-width: 992px) {
  .tf-bar .tf-wrap { position: relative; }
  .tf-menu > li.tf-has-mega { position: static; }
  .tf-mega { left: 50% !important; top: calc(100% - 4px); }
}
@media (min-width: 992px) and (max-width: 1199px) { .tf-mega { width: calc(100vw - 40px); max-width: 960px; } }
@media (min-width: 992px) and (max-width: 1199px) {
  .tf-mega { max-width: none; width: calc(100vw - 32px); max-height: calc(100vh - 140px); overflow-y: auto; padding: 16px; }
  .tf-mega-cats { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .tf-mega-cat + .tf-mega-cat { border-left: 1px solid var(--tf-line); padding-left: 8px; }
  .tf-mega-cat a { padding: 7px 8px; gap: 8px; align-items: center; }
  .tf-mega-cat small { display: none; }
  .tf-mega-cat b { font-size: 12.5px; }
  .tf-mega-cat .mi { width: 28px; height: 28px; font-size: 12px; }
  .tf-mega-h { font-size: 10.5px; padding: 4px 8px 8px; }
}
