/* DIROX desktop navigation. All visual rules are isolated from Shoper/mobile. */
.dx-nav { --dx-menu-css-ready:1; --dx-ink:#172c3d; --dx-blue:#006fc9; --dx-line:#e3e9ee; font-family:inherit; color:var(--dx-ink); }
.dx-nav[hidden],.dx-nav [hidden] { display:none!important; }
.dx-nav *, .dx-nav *::before,.dx-nav *::after { box-sizing:border-box; }
.dx-nav ul,.dx-nav li { list-style:none; margin:0; padding:0; float:none; }
.dx-nav a { color:inherit; text-decoration:none; }
.dx-nav button { appearance:none; background:none; border:0; color:inherit; font:inherit; cursor:pointer; margin:0; text-transform:none; box-shadow:none; }
.dx-nav a:focus-visible,.dx-nav button:focus-visible { outline:2px solid var(--dx-blue); outline-offset:-3px; border-radius:5px; }
.dx-nav-bar { display:flex; justify-content:flex-start; align-items:stretch; min-height:65px; margin:0 auto!important; padding:0!important; }
.dx-nav-top { display:flex; align-items:stretch; border-bottom:3px solid transparent; }
.dx-nav-top-link { display:flex; align-items:center; gap:14px; padding:0 14px!important; min-height:62px; font-size:15px!important; line-height:1.3!important; font-weight:500; white-space:nowrap; }
.dx-nav-top:first-child > .dx-nav-top-link::before { content:'☰'; font-size:20px; font-weight:400; }
.dx-nav-top-toggle { width:28px; margin-left:-10px!important; padding:0!important; }
.dx-nav-chevron { display:inline-block; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); vertical-align:3px; flex-shrink:0; }
.dx-nav-top:hover,.dx-nav-active { background:#f1f7fc; color:#005ca9; }
.dx-nav-active { border-bottom-color:var(--dx-blue); }
.dx-nav-backdrop { position:fixed; inset:0; background:rgba(19,35,48,.3); z-index:1; animation:dx-nav-fade 140ms ease-out; }
.dx-nav-panel { position:fixed; z-index:2; left:var(--dx-panel-left); top:var(--dx-panel-top); width:var(--dx-panel-width); height:auto; max-height:var(--dx-panel-height); display:grid; grid-template-columns:340px minmax(0,1fr); grid-template-rows:minmax(0,1fr); background:#fff; border:1px solid var(--dx-line); border-radius:0 0 14px 14px; box-shadow:0 16px 38px rgba(13,35,54,.18); overflow:hidden; text-align:left; line-height:1.45; animation:dx-nav-enter 140ms ease-out; }
.dx-nav-sidebar { background:#f7f9fb; border-right:1px solid var(--dx-line); overflow-y:auto; overscroll-behavior:contain; min-height:0; padding:12px 10px; scrollbar-width:thin; scrollbar-color:#b7c4ce transparent; }
.dx-nav-sidebar-head { display:flex; justify-content:space-between; align-items:center; min-height:34px; padding:0 9px 4px; gap:6px; }
.dx-nav-eyebrow { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#536675; }
.dx-nav-close { font-size:24px!important; width:34px; height:34px; flex-shrink:0; border-radius:6px; }
.dx-nav-close:hover { background:#e5edf4; }
.dx-nav-root-link { display:block; font-size:13px; color:var(--dx-blue)!important; padding:0 10px 8px; }
.dx-nav-row { display:flex; align-items:stretch; border-radius:7px; }
.dx-nav-row-link { flex:1; display:flex; align-items:center; min-width:0; min-height:34px; padding:7px 10px!important; font-size:14px!important; line-height:1.3!important; text-align:left; }
.dx-nav-row-toggle { flex:0 0 36px; padding:0!important; }
.dx-nav-row-toggle .dx-nav-chevron { transform:rotate(-45deg); vertical-align:0; }
.dx-nav-selected { background:#e5f0fa; color:#005ca9; }
.dx-nav-selected .dx-nav-row-link { font-weight:600; }
.dx-nav-row:hover { background:#ebf1f6; }
.dx-nav-selected:hover { background:#e5f0fa; }
.dx-nav-content { min-height:0; padding:22px 26px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.dx-nav-content-head { padding-bottom:12px; margin-bottom:10px; border-bottom:1px solid var(--dx-line); }
.dx-nav-heading { font-size:21px!important; line-height:1.35!important; font-weight:600!important; color:var(--dx-ink); margin:0 0 8px!important; text-transform:none; }
.dx-nav-all { font-size:13px; color:var(--dx-blue)!important; }
.dx-nav-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:0 18px; }
.dx-nav-category { display:block; padding:8px 0; font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.dx-nav-content a:hover,.dx-nav-row-link:hover,.dx-nav-root-link:hover { color:var(--dx-blue); text-decoration:underline; text-underline-offset:3px; }
.dx-nav-description { font-size:15px; color:#536675; }
.dx-nav-cta { display:inline-block; padding:12px 18px; border:1px solid var(--dx-line); border-radius:7px; color:var(--dx-blue)!important; margin-top:14px; font-size:14px; }
@keyframes dx-nav-enter { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }
@keyframes dx-nav-fade { from{opacity:0} to{opacity:1} }
@media(min-width:768px) {
  .menu.row.dx-menu-ready > .innermenu { display:none!important; }
  .menu.row.dx-menu-ready { padding:0; background:#fff; border-bottom:1px solid #e3e9ee; }
  .menu.row.dx-menu-open { z-index:100!important; }
}
@media(min-width:768px) and (max-width:1100px) {
  .dx-nav-bar { justify-content:flex-start; overflow-x:auto; scrollbar-width:thin; }
  .dx-nav-top-link { padding:0 10px!important; font-size:13px!important; }
  .dx-nav-panel { grid-template-columns:290px minmax(0,1fr); }
  .dx-nav-content { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { .dx-nav-panel,.dx-nav-backdrop { animation:none; } }

/* Show one branch at a time; deeper categories stay accessible without a long wall of links. */
.dx-nav-group { display:flex; align-items:stretch; border-bottom:1px solid #edf1f4; border-radius:4px; }
.dx-nav-group > .dx-nav-category { flex:1; min-height:36px; display:flex; align-items:center; padding:7px 6px; font-weight:400; }
.dx-nav-group:hover { background:#f5f9fc; }
.dx-nav-branch { flex:0 0 34px; padding:0!important; }
.dx-nav-branch .dx-nav-chevron { transform:rotate(-45deg); vertical-align:0; }
.dx-nav-back { display:block; font-size:12px!important; color:var(--dx-blue)!important; padding:0 0 10px!important; text-align:left; }
.dx-nav-heading:focus { outline:none; }

/* Short windows: tighten spacing before falling back to actual overflow. */
@media(min-width:768px) and (max-height:800px) {
  .dx-nav-sidebar { padding-top:8px; padding-bottom:8px; }
  .dx-nav-row-link { min-height:32px; padding-top:6px!important; padding-bottom:6px!important; }
  .dx-nav-content { padding-top:16px; padding-bottom:16px; }
}

/* Promotions, editorial groups and contact: same flyout, without a sidebar. */
.dx-nav-panel.dx-nav-feature { grid-template-columns:minmax(0,1fr); }
.dx-nav-feature .dx-nav-content { padding:22px 26px 24px; }
.dx-nav-feature-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--dx-line); }
.dx-nav-feature-head .dx-nav-heading { margin-bottom:5px!important; }
.dx-nav-feature-cards { display:grid; gap:20px; }
.dx-nav-product-cards { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dx-nav-blog-cards,.dx-nav-contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.dx-nav-product-card,.dx-nav-blog-card,.dx-nav-contact-card { display:flex; flex-direction:column; min-width:0; }
.dx-nav-photo { display:flex; align-items:center; justify-content:center; height:148px; background:#fff; border:1px solid #edf1f4; border-radius:7px; overflow:hidden; margin-bottom:13px; }
.dx-nav-photo img { width:100%; height:100%; object-fit:contain; display:block; }
.dx-nav-photo-blog { height:auto; aspect-ratio:16/9; background:#eef3f7; }
.dx-nav-photo-blog img { object-fit:cover; }
.dx-nav-card-title { font-size:14px; font-weight:600; line-height:1.45; display:block; }
.dx-nav-card-cost { padding-top:12px; margin-top:auto; }
.dx-nav-price { display:block; font-size:18px; color:#005ca9; line-height:1.4; margin-bottom:5px; }
.dx-nav-price-note { font-size:11px; line-height:1.5; color:#526676; }
.dx-nav-card-more { display:block; padding-top:13px; margin-top:auto; color:var(--dx-blue)!important; font-size:13px; line-height:1.4; }
.dx-nav-product-card .dx-nav-card-more { margin-top:0; }
.dx-nav-blog-group { font-size:18px!important; line-height:1.4!important; font-weight:600; margin:3px 0 13px!important; text-transform:none; }
.dx-nav-article-date { display:block; margin:8px 0 4px; font-size:12px; color:#617585; }
.dx-nav-panel-message { font-size:14px; color:#617585; line-height:1.5; margin:12px 0; }
.dx-nav-product-cards > .dx-nav-panel-message { grid-column:1/-1; }
.dx-nav-contact-main { display:block; font-size:24px; font-weight:600; margin:13px 0 9px; line-height:1.3; }
.dx-nav-contact-email { font-size:16px; color:var(--dx-blue)!important; }
.dx-nav-contact-title { font-size:17px!important; font-weight:600; margin:13px 0 8px!important; line-height:1.4; }
.dx-nav-contact-card p { font-size:14px; line-height:1.6; margin:0 0 10px; color:#526676; white-space:pre-line; }
.dx-nav-contact-card + .dx-nav-contact-card { border-left:1px solid var(--dx-line); padding-left:24px; }
@media(min-width:768px) and (max-width:900px) {
  .dx-nav-feature-cards { gap:14px; }
  .dx-nav-photo { height:120px; }
  .dx-nav-photo-blog { height:auto; }
  .dx-nav-card-title { font-size:13px; }
  .dx-nav-price { font-size:16px; }
  .dx-nav-contact-main { font-size:20px; }
  .dx-nav-contact-card + .dx-nav-contact-card { padding-left:16px; }
  .dx-nav-contact-grid { gap:16px; }
}
.dx-nav-product-card .dx-nav-card-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
