/* ThnkTank site chrome: link styling, header and footer. Loaded on every public page after ui-polish.css. */

/* ---------- No underlines on links (colour and weight carry the affordance) ---------- */
a, a:hover, a:focus, a:active, a:visited { text-decoration: none !important; }
.nb-ss-intro p a, .nb-ss-faq a, p a[style*="FFFF00"] { font-weight: 600; }
.nb__navmenu > ul > li > a::before { display: none !important; }   /* the theme's animated hover bar under nav links */

/* ---------- Header: top bar ---------- */
.nb__top-header { background: #0a0a0a !important; border-bottom: 1px solid rgba(255, 255, 255, .06); padding: 8px 0 !important; }
.nb-topbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.nb-topbar-left { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 30px; }
.nb-topbar-item { display: inline-flex; align-items: center; gap: 9px; color: rgba(255, 255, 255, .72); font-size: 13.5px; line-height: 1.4; }
a.nb-topbar-item:hover { color: #fff; }
.nb-topbar-item i { color: #6b94d9; font-size: 15px; padding: 0; }
.nb-topbar-social { display: flex; gap: 6px; }
.nb-topbar-social a { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-size: 14px; transition: background .3s; }
.nb-topbar-social a:hover { background: #4773b8; }
.nb-topbar-social i { padding: 0 !important; }

/* ---------- Header: main bar ---------- */
.nb__main-header { background: #0E0E0E !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .08) !important; }
.nb__logo img { max-height: 54px; width: auto; }
.nb__navmenu > ul > li > a { padding: 8px 14px !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: .3px; color: rgba(255, 255, 255, .86) !important; transition: color .25s; }
.nb__navmenu > ul > li:hover > a, .nb__navmenu > ul > li.is-active > a { color: #6b94d9 !important; }
.nb__navmenu > ul > li.has-submenu { padding-right: 14px; }
.nb__navmenu > ul > li.has-submenu::after { right: 0; top: 13px; color: rgba(255, 255, 255, .6); }
.nb-header-cta { margin: 0 18px 0 22px; white-space: nowrap; }
.nb-ss-btn--sm { padding: 10px 22px; font-size: 14px; }

/* Services dropdown + fly-out (dark theme) */
.nb__navmenu > ul li.has-submenu > .submenu-wrapper { background: #161616 !important; border: 1px solid rgba(255, 255, 255, .09); border-radius: 10px; box-shadow: 0 18px 40px rgba(0, 0, 0, .55) !important; padding: 8px 0; min-width: 310px; }
.nb__navmenu > ul > li.has-submenu > .submenu-wrapper::before { content: ""; position: absolute; top: -40px; left: 0; right: 0; height: 40px; }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li { display: block; position: relative; }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li a { color: rgba(255, 255, 255, .86) !important; padding: 10px 24px !important; font-size: 14.5px !important; font-weight: 500 !important; transition: color .2s, background .2s; }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li:hover > a { color: #6b94d9 !important; background: rgba(255, 255, 255, .04); }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li a::before { display: none !important; }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li.has-submenu::after { color: rgba(255, 255, 255, .5) !important; top: 11px; right: 14px; }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li.nb-sub-all > a { font-weight: 700 !important; color: #fff !important; border-bottom: 1px solid rgba(255, 255, 255, .08); margin-bottom: 4px; }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li.has-submenu > .submenu-wrapper { left: calc(100% + 2px); top: -8px; }
.mobile-menu .mobile-nav-menu .nb-ss-btn { display: inline-flex; width: auto; }

/* ---------- Footer ---------- */
.nb-ft { background: #0E0E0E; color: rgba(255, 255, 255, .65); }
.nb-ft a { transition: color .25s, transform .25s; }
.nb-ft-cta { background: linear-gradient(135deg, #4773b8 0%, #2f5496 100%); }
.nb-ft-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap; padding: 44px 0; }
.nb-ft-cta-title { color: #fff; font-size: clamp(24px, 3vw, 34px); font-weight: 700; margin: 0 0 6px; line-height: 1.2; }
.nb-ft-cta-text { color: rgba(255, 255, 255, .88); margin: 0; font-size: 16px; }
.nb-ft-cta-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.nb-ft-cta .nb-ss-btn { background: #fff; border-color: #fff; color: #0E0E0E; }
.nb-ft-cta .nb-ss-btn:hover { background: #0E0E0E; border-color: #0E0E0E; color: #fff; }
.nb-ft-cta .nb-ss-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff; }
.nb-ft-cta .nb-ss-btn--ghost:hover { background: #fff; border-color: #fff; color: #0E0E0E; }

.nb-ft-main { background: #131313; padding: 72px 0 48px; }
.nb-ft-logo img { max-width: 190px; height: auto; display: block; }
.nb-ft-about { font-size: 15px; line-height: 1.8; margin: 22px 0; max-width: 430px; color: rgba(255, 255, 255, .62); }
.nb-ft-social { display: flex; gap: 10px; }
.nb-ft-social a { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; color: #fff; font-size: 15px; }
.nb-ft-social a:hover { background: #4773b8; border-color: #4773b8; transform: translateY(-2px); }
.nb-ft-social i { padding: 0 !important; }
.nb-ft-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0 0 22px; letter-spacing: .3px; }
.nb-ft-links, .nb-ft-contact { list-style: none; margin: 0; padding: 0; }
.nb-ft-links li { margin-bottom: 12px; }
.nb-ft-links a { color: rgba(255, 255, 255, .66); font-size: 15px; display: inline-block; }
.nb-ft-links a:hover { color: #fff; transform: translateX(4px); }
.nb-ft-contact li { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .66); }
.nb-ft-contact i, .nb-ft-contact svg { color: #6b94d9; font-size: 16px; flex-shrink: 0; margin-top: 4px; padding: 0; }
.nb-ft-contact a { color: rgba(255, 255, 255, .8); }
.nb-ft-contact a:hover { color: #fff; }

.nb-ft-insights { margin-top: 56px; padding-top: 44px; border-top: 1px solid rgba(255, 255, 255, .08); }
.nb-ft-post { display: flex; align-items: center; gap: 16px; }
.nb-ft-post img { width: 104px; height: 76px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.nb-ft-post strong { display: block; color: #fff; font-size: 15px; line-height: 1.45; font-weight: 600; margin-bottom: 6px; transition: color .25s; }
.nb-ft-post small { color: rgba(255, 255, 255, .5); font-size: 13px; }
.nb-ft-post:hover strong { color: #6b94d9; }

.nb-ft-bottom { background: #0a0a0a; padding: 20px 0; border-top: 1px solid rgba(255, 255, 255, .06); }
.nb-ft-bottom-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 24px; }
.nb-ft-bottom p { margin: 0; font-size: 14px; color: rgba(255, 255, 255, .5); }
.nb-ft-bottom-links { display: flex; gap: 26px; }
.nb-ft-bottom-links a { font-size: 14px; color: rgba(255, 255, 255, .6); }
.nb-ft-bottom-links a:hover { color: #fff; }

@media (max-width: 767px) {
    .nb-ft-main { padding: 52px 0 36px; }
    .nb-ft-cta-inner { padding: 34px 0; }
    .nb-ft-cta-btns .nb-ss-btn { width: 100%; }
    .nb-ft-bottom-inner { justify-content: center; text-align: center; }
}

/* Fly-out opens to the left (Services sits at the right edge of the header) and rows show an arrow */
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li.has-submenu > .submenu-wrapper { left: auto !important; right: calc(100% + 2px); }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li.has-submenu::after { content: "\2039" !important; font-family: inherit !important; font-size: 22px !important; line-height: 1; top: 10px !important; left: 10px; right: auto !important; }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li.has-submenu > a { padding-left: 30px !important; }
.nb__navmenu > ul li.has-submenu > .submenu-wrapper li.has-submenu:hover::after { color: #6b94d9 !important; }

/* Footer: emphasised "View All Services" link; compact main block now that Latest Insights is gone */
.nb-ft-links a.nb-ft-all { color: #6b94d9; font-weight: 600; }
.nb-ft-links a.nb-ft-all:hover { color: #fff; }
.nb-ft-main { padding: 64px 0 56px; }

/* Home: Industries chips on a single line on desktop (wrap on smaller screens) */
@media (min-width: 1200px) {
    .nb-industries { flex-wrap: nowrap; gap: 10px; }
    .nb-industries .nb-ss-chip { flex: 1 1 auto; padding: 12px 14px; font-size: 14.5px; white-space: nowrap; text-align: center; }
}

/* Email / phone shown as images */
.nb-contact-img { display: inline-block; vertical-align: middle; max-width: 100%; height: auto; -webkit-user-select: none; user-select: none; }
.nb-topbar-item .nb-contact-img { margin-top: -1px; }
.nb-ft-contact .nb-contact-img { margin-top: 2px; }
.nb-contact-imgbox { display: block; margin-top: 4px; }
.offcanvus-box .content-top .nb-contact-img { margin-top: 10px; }
