.site-header { height:150px; background:#000; color:#fff; position:sticky; top:0; z-index:50; transition:transform .2s ease; }
.site-header.is-hidden { transform:translateY(calc(-50% - 1px)); }
@media(max-width:991px) { .site-header.is-hidden { transform:none; } }
.header-left,.header-right { position:absolute; top:15px; font-size:22px; line-height:26.4px; font-weight:700; }
.header-left { left:10px; } .header-right { right:10px; text-align:right; }
.header-left p,.header-right p { margin:0; background:linear-gradient(#fff 50%,#009ed5 50%); background-clip:text; color:transparent; }
.header-brand-row { position:absolute; left:calc(50% - 155px); top:40px; display:flex; align-items:center; gap:5px; white-space:nowrap; }
.site-logo { display:block; width:190px; line-height:0; }
.site-logo img { display:block; width:190px; height:auto; }
.manufacturer-logos { display:flex; align-items:center; gap:10px; transform:translateY(1px); }
.manufacturer-logos__group { display:contents; }
.manufacturer-logos a { display:block; line-height:0; }
.manufacturer-logos img { max-width:none; height:30px; }
.manufacturer-logos .manufacturer-logo--1 img { width:50.171875px; }
.manufacturer-logos .manufacturer-logo--2 img { width:79.328125px; height:20px; }
.manufacturer-logos .manufacturer-logo--2 img { transform:translateY(.8px); }
.manufacturer-logos .manufacturer-logo--3 img { width:23.390625px; }
.manufacturer-logos .manufacturer-logo--3 { margin-left:-5px; }
.manufacturer-logos .manufacturer-logo--4 img { width:106.109375px; }
#main-navigation { position:absolute; left:0; right:0; bottom:0; }
.navigation-list { list-style:none; display:flex; align-items:center; justify-content:safe center; margin:0; padding:0; min-height:75px; }
.navigation-list>li { padding:0; }
.navigation-link { display:flex; align-items:center; position:relative; }
.navigation-list a { color:#fff; font-size:16px; line-height:1.5; font-weight:700; letter-spacing:normal; text-transform:uppercase; text-decoration:none; display:block; }
.navigation-list>li>.navigation-link>a { padding:0 20px; line-height:75px; white-space:nowrap; }
.navigation-list a:hover,.navigation-list a:focus-visible { color:var(--site-primary); }
.navigation-list button { background:transparent; border:0; color:#fff; cursor:pointer; font-size:12px; }
.navigation-link button { position:absolute; right:0; top:0; bottom:0; width:20px; padding:0; }
.navigation-list li { position:relative; }
.navigation-list li>ul { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); width:240px; margin:0; padding:0; list-style:none; background:#272727; box-shadow:0 5px 10px #0003; }
.navigation-list li>ul a { font-size:16px; font-weight:400; padding:10px 20px; text-transform:none; }
.navigation-list li>ul li>ul { top:0; left:100%; transform:none; }
.navigation-list li.open>ul { display:block; }
.site-search { position:absolute!important; right:20px; }
.site-search>button { padding:0; width:22px; height:75px; display:flex; align-items:center; justify-content:center; }
.header-search { display:none; position:absolute; right:50px; top:10px; width:360px; max-width:calc(100vw - 30px); margin:0; background:#fff; }
.header-search.is-open { display:flex; }
.header-search input { width:100%; min-width:0; height:55px; border:1px solid #ddd; border-radius:5px; padding:10px 55px 10px 15px; background:#fff; color:#000; }
.header-search>button { position:absolute; right:0; top:0; height:55px; width:55px; border:0; background:transparent; color:#000; cursor:pointer; }
.menu-toggle { display:none; }
@media(min-width:992px) {
    .navigation-list li:hover>ul,.navigation-list li:focus-within>ul { display:block; }
    .header-brand-row { transition:transform .2s ease; }
    .site-header.is-hidden .header-brand-row { transform:translateY(-75px); }
}
@media(max-width:991px) {
    .site-header { height:90px; }
    .header-left,.header-right { display:none; }
    .header-brand-row { left:10px; top:15px; height:65px; align-items:center; }
    .site-logo,.site-logo img { width:190px; }
    .site-logo img { height:65px; object-fit:contain; }
    .manufacturer-logos { align-self:flex-end; margin-bottom:10px; }
    .manufacturer-logos .manufacturer-logo--1 img { width:53.390625px; }
    .manufacturer-logos .manufacturer-logo--2 img { width:84.40625px; }
    .manufacturer-logos .manufacturer-logo--3 { margin-left:-5px; }
    .manufacturer-logos .manufacturer-logo--3 img { width:25.015625px; }
    .manufacturer-logos .manufacturer-logo--4 img { width:113.484375px; }
    .menu-toggle { display:flex; position:absolute; align-items:center; justify-content:center; right:0; top:0; width:60px; height:90px; padding:0; background:none; border:0; color:#fff; cursor:pointer; z-index:2; }
    .menu-toggle__bars { display:flex; width:30px; flex-direction:column; gap:6px; }
    .menu-toggle__bars i { display:block; height:2px; width:30px; background:currentColor; transition:transform .2s ease; }
    .menu-toggle__bars i:first-child { width:20px; }
    .menu-toggle__bars i:nth-child(3) { width:25px; }
    .menu-toggle[aria-expanded="true"] .menu-toggle__bars i:first-child { width:30px; transform:translateY(8px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] .menu-toggle__bars i:nth-child(2) { opacity:0; }
    .menu-toggle[aria-expanded="true"] .menu-toggle__bars i:last-child { width:30px; transform:translateY(-8px) rotate(-45deg); }
    #main-navigation { display:none; top:90px; bottom:auto; background:#000; max-height:calc(100svh - 90px); overflow:auto; padding-top:70px; }
    #main-navigation.is-open { display:block; }
    .navigation-list { display:block; padding:0 0 20px; }
    .navigation-list>li>.navigation-link>a { padding:15px 60px 15px 20px; line-height:30px; white-space:normal; width:100%; }
    .navigation-link button { width:60px; font-size:20px; }
    .navigation-list li>ul,.navigation-list li>ul li>ul { position:static; transform:none; width:100%; box-shadow:none; padding:0; }
    .navigation-list li>ul a { padding:15px 60px 15px 20px; font-size:16px; }
    .site-search { display:none; }
    .header-search,.header-search.is-open { display:flex; right:20px; left:20px; top:0; width:auto; max-width:none; }
    .header-search input,.header-search>button { height:40px; }
}
@media(max-width:650px) {
    .header-brand-row { left:50%; top:15px; transform:translateX(-50%); width:90%; height:69px; flex-direction:column; gap:5px; }
    .site-logo { width:190px; height:34px; display:flex; justify-content:center; }
    .site-logo img { width:auto; height:34px; }
    .manufacturer-logos { align-self:center; margin:0; transform:none; width:min(302px, calc((100% - 20px) * .9 + 5px)); gap:5px; }
    .manufacturer-logos__group { display:flex; align-items:center; gap:10px; flex:0 0 calc((100% - 5px) / 2); min-width:0; }
    .manufacturer-logos a { min-width:0; }
    .manufacturer-logos .manufacturer-logo--3 { margin-left:0; }
    .manufacturer-logos img { max-width:100%; }
    .manufacturer-logos .manufacturer-logo--1 img { width:53.390625px; }
    .manufacturer-logos .manufacturer-logo--2 img { width:80.1875px; height:19px; }
    .manufacturer-logos .manufacturer-logo--3 img { width:25.015625px; }
    .manufacturer-logos .manufacturer-logo--4 img { width:113.484375px; }
}
@media(prefers-reduced-motion:reduce) { .site-header,.menu-toggle__bars i { transition:none; } }
.navigation-list .is-current>.navigation-link>a,.navigation-list .is-current>.navigation-link>button { color:var(--site-primary); }

@media(min-width:992px) and (max-width:1100px) { .site-search { display:none; } }

/* Match the original header's wide desktop arrangement. */
@media(min-width:1301px) {
    .header-brand-row { left:50%; top:12px; height:82px; padding:2px 20px; gap:20px; align-items:flex-end; transform:translateX(-50%); }
    .site-logo { order:1; width:auto; }
    .site-logo img { width:auto; height:71px; }
    .manufacturer-logos { display:contents; }
    .manufacturer-logos__group { display:flex; align-items:center; gap:10px; padding-bottom:10px; }
    .manufacturer-logos__group:first-child { order:0; }
    .manufacturer-logos__group:last-child { order:2; }
    .manufacturer-logos a[class] img { width:auto; }
    .manufacturer-logos .manufacturer-logo--3 { margin-left:0; }
    .site-header.is-hidden .header-brand-row { transform:translate(-50%,-75px); }
}
.navigation-link button span::before { content:'\f280'; font:16px/1 TenbySymbols; }
.header-search-icon::before { content:'\f4a5'; font:25px/1 TenbySymbols; }
.site-search button[aria-expanded="true"] .header-search-icon::before { content:'\f2c0'; }
@media(min-width:992px) { .navigation-list ul .navigation-link button span::before { content:'\f284'; } }
@media(max-width:991px) { .navigation-link button[aria-expanded="true"] span::before { content:'\f286'; } }

@media(max-width:991px) {
    html:has(#main-navigation.is-open),body:has(#main-navigation.is-open) { overflow:hidden; }
    .page:has(#main-navigation.is-open) { padding-top:90px; }
    .site-header:has(#main-navigation.is-open) { position:fixed; width:100%; height:100svh; }
    .site-header:has(#main-navigation.is-open) .header-brand-row { z-index:1; }
    #main-navigation { top:90px; max-height:calc(100svh - 90px); min-height:calc(100svh - 90px); padding:0 0 20px; }
    .navigation-list { padding-bottom:0; }
    .navigation-list li { border-bottom:1px solid #414141; }
    .navigation-list>li>.navigation-link>a,.navigation-list li>ul a { padding:20px 60px 20px 20px; line-height:24px; }
    .navigation-link>a { width:100%; }
    .navigation-link button { bottom:auto; height:64px; }
    .navigation-link button span::before { font-size:20px; }
    .navigation-list li.open>.navigation-link>a { color:var(--site-primary); }
    .header-search,.header-search.is-open { position:relative; inset:auto; width:auto; margin:20px 20px 0; }
    .header-search input { height:50px; padding:6px 50px 6px 12px; }
    .header-search>button { width:50px; height:50px; border:1px solid var(--site-primary); border-radius:5px; color:var(--site-primary); background:#fff; }
}
