.primary-navigation .menu-item.has-mega{position:relative}
.primary-navigation .menu-item.has-mega>.mega-menu{display:none;position:absolute;top:100%;left:0;z-index:9999;background:#fff;border-top:3px solid #00529c;border-radius:0 0 8px 8px;-webkit-box-shadow:0 12px 32px rgba(0,0,0,0.12);box-shadow:0 12px 32px rgba(0,0,0,0.12);padding:28px 32px 24px;width:1040px;max-width:calc(100vw - 32px);text-align:left}
.primary-navigation .menu-item.has-mega:hover>.mega-menu,.primary-navigation .menu-item.has-mega:focus-within>.mega-menu,.primary-navigation .menu-item.has-mega.is-open>.mega-menu{display:block}
.primary-navigation .mega-menu .mega-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 32px}
.primary-navigation .mega-menu .mega-col{min-width:0}
.primary-navigation .mega-menu .mega-col-title{font-family:'Inter',Arial,sans-serif;font-size:11px;font-weight:700;color:#9ca3af;letter-spacing:0.08em;text-transform:uppercase;margin:0 0 10px 0;padding:0 0 8px 0;border-bottom:1px solid #e4e8e9}
.primary-navigation .mega-menu .mega-list{list-style:none;margin:0;padding:0}
.primary-navigation .mega-menu .mega-col-colour .mega-list{-webkit-columns:2;-moz-columns:2;columns:2;-webkit-column-gap:24px;-moz-column-gap:24px;column-gap:24px}
.primary-navigation .mega-menu .mega-item{display:block;width:auto;border:0;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}
.primary-navigation .mega-menu .mega-item>a{display:block;width:auto;font-family:'Inter',Arial,sans-serif;font-size:14px;font-weight:400;color:#25282b;padding:6px 0;text-decoration:none;border:0;background:transparent;-webkit-transition:color 0.15s;transition:color 0.15s}
.primary-navigation .mega-menu .mega-item>a:hover{color:#00529c;background:transparent}
.primary-navigation .mega-menu .mega-view-all{margin-top:20px;padding-top:16px;border-top:1px solid #e4e8e9}
.primary-navigation .mega-menu .mega-view-all a{display:inline-block;width:auto;font-family:'Inter',Arial,sans-serif;font-size:14px;font-weight:600;color:#00529c;padding:0;text-decoration:none;border:0;background:transparent}
.primary-navigation .mega-menu .mega-view-all a:hover{text-decoration:underline;color:#00529c;background:transparent}
@media (max-width:960px){
.primary-navigation .menu-item.has-mega>.mega-menu{position:relative;top:auto;left:auto;width:auto;min-width:0;max-width:none;border-top:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;padding:8px 0 0 1.5em;display:none}
.primary-navigation .menu-item.has-mega.is-open>.mega-menu{display:block}
.primary-navigation .mega-menu .mega-menu-grid{display:block;grid-template-columns:none;gap:0}
.primary-navigation .mega-menu .mega-col-colour .mega-list{-webkit-columns:1;-moz-columns:1;columns:1}
.primary-navigation .mega-menu .mega-col{margin-bottom:12px}
.primary-navigation .mega-menu .mega-col-title{margin-top:8px}
.primary-navigation .mega-menu .mega-item>a{padding:6px 0;font-size:0.95rem}
.primary-navigation .mega-menu .mega-view-all{margin-top:12px;padding-top:10px}
}
/* === end mega menu === */
/* === Fowles nav drop-down panels -> match Carpet mega (task 86d3y043n) === */
.primary-navigation .menu-item-has-children:not(.has-mega)>.sub-menu{background:#fff;border-top:3px solid #00529c;border-radius:0 0 8px 8px;-webkit-box-shadow:0 12px 32px rgba(0,0,0,0.12);box-shadow:0 12px 32px rgba(0,0,0,0.12);padding:16px 24px 14px;min-width:260px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:340px;text-align:left;float:none}
.primary-navigation .menu-item-has-children:not(.has-mega)>.sub-menu>.menu-item>a{display:block;width:auto;font-family:'Inter',Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.4;color:#25282b;padding:6px 0;border:0;background:transparent;text-decoration:none;-webkit-transition:color 0.15s;transition:color 0.15s}
.primary-navigation .menu-item-has-children:not(.has-mega)>.sub-menu>.menu-item>a:hover,.primary-navigation .menu-item-has-children:not(.has-mega)>.sub-menu>.menu-item.current-menu-item>a{color:#00529c;background:transparent}
.primary-navigation .menu>.menu-item-has-children:not(.has-mega):last-child>.sub-menu{left:auto;right:0}
@media (max-width:960px){
.primary-navigation .menu-item-has-children:not(.has-mega)>.sub-menu{border-top:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;padding:4px 0 4px 1.5em;min-width:0;width:auto;max-width:none;left:auto;right:auto}
.primary-navigation .menu>.menu-item-has-children:not(.has-mega):last-child>.sub-menu{right:auto}
.primary-navigation .menu-item-has-children:not(.has-mega)>.sub-menu>.menu-item>a{padding:6px 0;font-size:0.95rem}
}
/* === end nav drop-down panels === */
/* === Fowles mega menu: auto 3-level + column-count sizing (task 86d3yecub) === */
.primary-navigation .menu-item.has-mega>.mega-menu.mega-cols-1{width:316px}
.primary-navigation .menu-item.has-mega>.mega-menu.mega-cols-2{width:556px}
.primary-navigation .menu-item.has-mega>.mega-menu.mega-cols-3{width:796px}
.primary-navigation .mega-menu.mega-cols-1 .mega-menu-grid{grid-template-columns:repeat(1,minmax(0,1fr))}
.primary-navigation .mega-menu.mega-cols-2 .mega-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.primary-navigation .mega-menu.mega-cols-3 .mega-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.primary-navigation .menu>.menu-item.has-mega:last-child>.mega-menu{left:auto;right:0}
@media (max-width:960px){
.primary-navigation .menu-item.has-mega>.mega-menu.mega-cols-1,.primary-navigation .menu-item.has-mega>.mega-menu.mega-cols-2,.primary-navigation .menu-item.has-mega>.mega-menu.mega-cols-3{width:auto}
.primary-navigation .mega-menu.mega-cols-1 .mega-menu-grid,.primary-navigation .mega-menu.mega-cols-2 .mega-menu-grid,.primary-navigation .mega-menu.mega-cols-3 .mega-menu-grid{grid-template-columns:none}
.primary-navigation .menu>.menu-item.has-mega:last-child>.mega-menu{right:auto}
}
/* === end mega menu column sizing === */

/* === task 86d3ymd26: mobile nav -- every level expands === */
@media (max-width:960px){
/* 1. Touch keeps :hover / :focus-within on the tapped item, and the desktop
      rule that opens a mega on hover lives outside this media block -- so a
      panel closed with the chevron stayed open. Suppress hover/focus opening
      here; .is-open is the only thing that opens a panel on mobile. */
.primary-navigation .menu .menu-item.has-mega:not(.is-open):hover>.mega-menu,
.primary-navigation .menu .menu-item.has-mega:not(.is-open):focus-within>.mega-menu{display:none}
/* 2. Level 2: each mega column heading is its own accordion, closed by default.
      .mega-col inherits display:inline-block + 16px block padding from the nav,
      which left a dead gap between collapsed headings -- reset it here. */
.primary-navigation .mega-menu .mega-col{display:block;margin:0;padding:0}
.primary-navigation .mega-menu .mega-col-title{display:block;position:relative;margin:0;padding:13px 40px 13px 0;cursor:pointer;font-size:12px;border-bottom:1px solid #e4e8e9;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.primary-navigation .mega-menu .mega-col-title:after{content:'';position:absolute;right:14px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid #9ca3af;border-bottom:2px solid #9ca3af;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:-webkit-transform 0.2s ease;transition:-webkit-transform 0.2s ease;transition:transform 0.2s ease;transition:transform 0.2s ease,-webkit-transform 0.2s ease}
.primary-navigation .mega-menu .mega-col.is-open>.mega-col-title:after{margin-top:-2px;-webkit-transform:rotate(-135deg);-ms-transform:rotate(-135deg);transform:rotate(-135deg)}
.primary-navigation .mega-menu .mega-col-title:focus{outline:none}
.primary-navigation .mega-menu .mega-col-title:focus-visible{outline:2px solid #00529c;outline-offset:2px}
.primary-navigation .mega-menu .mega-col>.mega-list{display:none}
.primary-navigation .mega-menu .mega-col.is-open>.mega-list{display:block;padding:4px 0 12px 1em}
.primary-navigation .mega-menu .mega-view-all{margin-top:2px;padding-top:14px;border-top:0}
}