/* Deliberately independent of cd-*, Bootstrap and Modernizr. */
.tn-header { --tn-red:#c60000; --tn-ink:#2e3233; color:var(--tn-ink); background:#fff; font:inherit; position:relative; z-index:100; }
.tn-header *, .tn-header *::before,.tn-header *::after { box-sizing:border-box; }
.tn-header [hidden] { display:none !important; }
.tn-header a { color:inherit; text-decoration:none; }
.tn-header button { font:inherit; color:inherit; cursor:pointer; background:#fff; border:1px solid #ddd; border-radius:4px; padding:10px 12px; min-height:44px; }
.tn-header :is(a,button,input):focus-visible { outline:3px solid #1769aa; outline-offset:3px; }
.tn-header a:hover,.tn-header .tn-active > .tn-row > a { color:var(--tn-red); }
.tn-service { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:0 24px; background:#3e4b51; color:#fff; padding:0 max(20px,4vw); }
.tn-service a { padding:10px; font-size:14px; }
.tn-service .tn-cta { background:var(--tn-red); color:#fff; }
.tn-bar { min-height:80px; display:flex; align-items:center; gap:24px; padding:8px max(20px,4vw); }
.tn-logo { flex:0 1 214px; margin-right:auto; }
.tn-logo a { position:static !important; display:block; max-width:214px; width:auto; }
.tn-logo img { display:block; width:100%; height:auto; max-height:75px; object-fit:contain; object-position:left; }
.tn-header ul { list-style:none; padding:0; margin:0; }
.tn-root { display:flex; flex-wrap:wrap; gap:16px; }
.tn-row { display:flex; align-items:center; }
.tn-row > a { padding:12px 8px; min-height:44px; display:flex; align-items:center; gap:10px; line-height:1.45; overflow-wrap:anywhere; flex:1; font-size:1rem; }
.tn-subtoggle { flex:0 0 44px; }
.tn-subtoggle[aria-expanded="true"] span { display:inline-block; transform:rotate(180deg); }
.tn-sub .tn-row > a { padding:7px 8px; }
.tn-root > .tn-item > .tn-sub { background:#fff; padding:24px; border-top:1px solid #ddd; }
.tn-ready .tn-root > .tn-item > .tn-sub { position:absolute; top:100%; left:0; right:0; max-height:70vh; max-height:70dvh; overflow-y:auto; box-shadow:0 12px 24px #0002; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.tn-root > .tn-item > .tn-sub > .tn-item > .tn-row > a { color:var(--tn-red); font-weight:700; }
.tn-sub .tn-sub .tn-sub { margin-left:16px; border-left:1px solid #ddd; }
.tn-actions { display:flex; gap:8px; }
.tn-mobile-service { display:none; }
.tn-search { padding:20px max(20px,4vw); background:#fff; border-top:1px solid #ddd; }
.tn-ready .tn-search { position:absolute; top:100%; left:0; right:0; box-shadow:0 12px 24px #0002; max-height:70dvh; overflow:auto; }
.tn-search input[type="search"],.tn-search input[type="text"] { max-width:100%; min-height:44px; font:inherit; }
.tn-search-close { margin-bottom:12px; }
.tn-flag { width:24px; height:16px; object-fit:cover; flex:none; border:1px solid #0002; border-radius:2px; }
@media (min-width:1024px) { .tn-ready .tn-menu-toggle { display:none; } .tn-ready .tn-root > .tn-item > .tn-sub > .tn-item > .tn-row > .tn-subtoggle { display:none; } }
@media (max-width:1023px) {
 .tn-service { display:none; }
 .tn-bar { min-height:72px; padding:8px 16px; gap:12px; flex-wrap:wrap; }
 .tn-logo { flex-basis:160px; }
 .tn-logo img { max-height:56px; }
 .tn-actions { margin-left:auto; }
 .tn-navigation { width:100%; order:3; }
 .tn-root { display:block; }
 .tn-root > .tn-item > .tn-sub,.tn-sub { padding:0 0 0 12px; border:0; }
 .tn-row { border-bottom:1px solid #e6e6e6; }
 .tn-row > a,.tn-sub .tn-row > a { min-height:48px; padding:12px 8px; }
 .tn-ready .tn-navigation { position:fixed; inset:var(--tn-bottom,72px) 0 0; height:auto; overflow-y:auto; overscroll-behavior:contain; padding:12px 16px max(24px,env(safe-area-inset-bottom)); background:#fff; }
 .tn-ready .tn-root > .tn-item > .tn-sub { position:static; display:block; max-height:none; overflow:visible; box-shadow:none; padding:0 0 0 12px; }
 .tn-mobile-service { display:flex; flex-direction:column; gap:4px; padding-top:20px; }
 .tn-mobile-service a { padding:12px 8px; min-height:48px; }
 .tn-ready .tn-search { position:fixed; inset:var(--tn-bottom,72px) 0 0; max-height:none; overflow:auto; padding-bottom:max(24px,env(safe-area-inset-bottom)); }
}
@media (max-width:360px) { .tn-logo { flex-basis:120px; } .tn-actions { gap:4px; } .tn-header button { padding:8px; } }

/* Reference layout: independent country columns, original header proportions. */
.tn-header { font-family:inherit; }
.tn-service { min-height:40px; padding:0 max(20px,calc((100% - 1120px)/2)); gap:0 24px; align-items:stretch; }
.tn-service a { display:flex; align-items:center; padding:8px 12px; font-size:1rem; line-height:24px; font-weight:400; }


.tn-bar { min-height:80px; padding:0 3.5%; gap:40px; border-bottom:1px solid #e2e3df; }
.tn-logo { flex:0 0 190px; }
.tn-logo a { max-width:190px; }
.tn-logo img { max-height:75px; }
.tn-root { gap:40px; align-items:center; }
.tn-root > .tn-item > .tn-row > a { padding:0 8px; min-height:80px; font-weight:400; }
.tn-header .tn-subtoggle { background:transparent; border:0; border-radius:0; }
.tn-root > .tn-item > .tn-row > .tn-subtoggle { color:#c9cbc4; width:30px; flex-basis:30px; padding:0; }
.tn-subtoggle span { font-size:23px; }
.tn-header .tn-search-toggle { position:relative; width:44px; height:44px; padding:0; border:0; font-size:0; background:transparent; }
.tn-search-toggle::before { content:""; position:absolute; width:17px; height:17px; border:3px solid #2e3233; border-radius:50%; top:9px; left:9px; }
.tn-search-toggle::after { content:""; position:absolute; width:12px; height:3px; background:#2e3233; transform:rotate(45deg); top:28px; left:25px; }
.tn-search-toggle[aria-expanded="true"]::before { width:25px; height:3px; background:#2e3233; border:0; border-radius:0; top:21px; left:10px; transform:rotate(45deg); }
.tn-search-toggle[aria-expanded="true"]::after { width:25px; top:21px; left:10px; transform:rotate(-45deg); }

.tn-ready .tn-root > .tn-item > .tn-mega { padding:40px 3.5% 32px; gap:0; max-height:none; overflow:visible; grid-template-columns:repeat(4,minmax(0,1fr)); box-shadow:0 3px 6px #0001; }
.tn-column { min-width:0; padding:0 32px; border-left:1px solid #e2e3df; }
.tn-column:first-child { padding-left:0; border-left:0; }
.tn-column:last-child { padding-right:0; }
.tn-column > ul > .tn-country + .tn-country { margin-top:32px; }
.tn-country > .tn-row > a { color:var(--tn-red); font-weight:700; }
.tn-country > .tn-sub { margin:0; border:0; }
.tn-country .tn-row > a { padding:4px 0; min-height:30px; font-size:1rem; line-height:1.4; }
.tn-ready .tn-country > .tn-row > .tn-subtoggle { display:none; }
.tn-flag { width:20px; height:14px; }
.tn-ready .tn-search { min-height:120px; padding:24px max(24px,3.5vw); }
.tn-search input[type="search"],.tn-search input[type="text"] { display:block; width:100%; background:#fff; border:0; border-radius:0; box-shadow:none; padding:12px 0; font-size:1.6rem; font-weight:300; }
.tn-search input::placeholder { color:#a7aaa4; opacity:1; }
@media (min-width:1024px) { .tn-search-close { display:none; } }
@media (min-width:1024px) and (max-width:1279px) {
 .tn-bar { gap:20px; padding-inline:24px; }
 .tn-root { gap:16px; }
 .tn-column { padding-inline:16px; }
 .tn-country .tn-row > a { font-size:.9rem; }
}
@media (max-width:1023px) {
 .tn-bar { min-height:72px; padding:8px 16px; gap:12px; }
 .tn-logo { flex:0 1 160px; }
 .tn-root { display:block; }
 .tn-root > .tn-item > .tn-row > a { min-height:48px; padding:12px 8px; }
 .tn-ready .tn-root > .tn-item > .tn-mega { display:block; padding:0 0 0 12px; }
 .tn-column,.tn-column > ul { display:contents; }
 .tn-column > ul > .tn-country + .tn-country { margin-top:0; }
 .tn-country > .tn-sub { padding-left:12px; }
 .tn-country .tn-row > a { min-height:48px; padding:12px 8px; font-size:1rem; }
 .tn-ready .tn-country > .tn-row > .tn-subtoggle { display:block; }
 .tn-ready .tn-search { min-height:0; padding:16px; }
 .tn-search-close { position:static; }
}
@media (max-width:360px) { .tn-logo { flex-basis:120px; } }

/* Preserve existing Font Awesome glyphs and explicit original link colors. */
.tn-header .tn-service > a { color:#fff; }
.tn-header .tn-service > a:hover { color:#fff; }
.tn-header .tn-service > a > i { margin-right:5px; }
.tn-header .tn-row > a { color:#2e3233; }
.tn-header .tn-root > .tn-active > .tn-row > a,.tn-header .tn-country > .tn-row > a,.tn-header .tn-row > a:hover,.tn-header .tn-row > a[aria-current="page"] { color:#c60000; }
.tn-header .tn-row > a > .fa-star { color:#c60000; font-size:1em; }

/* Chevron drawn in CSS, matching the original menu rather than a text glyph. */
.tn-header .tn-subtoggle > span { display:inline-block; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; font-size:0; transform:translateY(-2px) rotate(45deg); }
.tn-header .tn-subtoggle[aria-expanded="true"] > span { transform:translateY(2px) rotate(225deg); }
.tn-header .tn-root > .tn-item > .tn-row > .tn-subtoggle { color:#c9cbc4; }
.tn-header .tn-root > .tn-item > .tn-row > .tn-subtoggle:hover { color:#c60000; }

/* Always visible on desktop and mobile; JS keeps a matching space in the page. */
.tn-header.tn-ready { position:fixed; top:0; left:0; right:0; width:100%; z-index:1000; }
.tn-header-spacer { display:block; flex:none; width:100%; }
@media (min-width:1024px) {
 .tn-header.tn-ready .tn-root > .tn-item > .tn-mega { max-height:calc(100vh - var(--tn-height,120px)); max-height:calc(100dvh - var(--tn-height,120px)); overflow-y:auto; overscroll-behavior:contain; }
}
