/* Shared header navigation: local branding with a spacious hover mega menu. */
@font-face {
  font-family: XdpMenuMontserrat;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/montserrat-menu-regular.ttf') format('truetype');
}
@font-face {
  font-family: XdpMenuMontserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/montserrat-menu-semibold.ttf') format('truetype');
}
.dq-header .dq-mega-menu,
.dq-header .dq-submenu-toggle {
  box-sizing: border-box;
}
.dq-header .dq-mega-menu {
  color: #111;
  font-family: XdpMenuMontserrat, Arial, sans-serif;
  text-align: left;
}
.dq-header .dq-mega-menu h2 {
  margin: 0 0 20px;
  color: #111;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  text-transform: uppercase;
}
.dq-header .dq-mega-menu h2 a {
  font-weight: inherit;
  text-transform: inherit;
}
.dq-header .dq-mega-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dq-header .dq-mega-menu ul li {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
}
.dq-header .dq-mega-menu a {
  display: block;
  padding: 0;
  color: #111;
  background: transparent;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0;
  white-space: normal;
  text-transform: none;
  text-decoration: none;
  transition: color .2s ease;
}
.dq-header .dq-mega-menu a:hover,
.dq-header .dq-mega-menu a:focus-visible {
  color: var(--dq-brand-orange, #ff8a1f);
}
.dq-header .dq-mega-menu__group + .dq-mega-menu__group {
  margin-top: 32px;
}
.dq-header .dq-mega-menu__trends > h2 {
  text-align: center;
}
.dq-header .dq-mega-menu__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 22px;
}
.dq-header .dq-mega-menu__cards > a {
  min-width: 0;
  text-align: center;
}
.dq-header .dq-mega-menu__cards img {
  display: block;
  width: 100%;
  max-width: 125px;
  height: auto;
  aspect-ratio: 1;
  margin: 0 auto 10px;
  border-radius: 6px;
  object-fit: cover;
  object-position: center top;
}
.dq-header .dq-mega-menu__cards span {
  display: block;
  max-width: 135px;
  margin: 0 auto;
}
.dq-header .dq-menu a:focus-visible,
.dq-header .dq-submenu-toggle:focus-visible {
  outline: 2px solid var(--dq-brand-orange, #ff8a1f);
  outline-offset: 5px;
}

@media (min-width: 1100px) {
  .dq-header .dq-header-main--desktop { display: block; }
  .dq-header .dq-header-main--mobile { display: none; }
  .dq-header-main--desktop .dq-header-main__grid {
    position: relative;
    width: min(1640px, calc(100% - 112px));
    grid-template-columns: 270px minmax(0, 1fr) 190px;
    min-height: 92px;
    gap: 22px;
  }
  .dq-header-main--desktop .dq-header-zone { gap: 0; }
  .dq-header-main--desktop .dq-header-zone--center { justify-content: center; }
  .dq-header-main--desktop .dq-logo {
    position: static;
    width: 270px;
    height: 80px;
    overflow: visible;
    transform: scaleX(1.1);
    transform-origin: left center;
  }
  .dq-header-main--desktop .dq-logo img {
    width: 270px !important;
    height: 76px !important;
    max-width: 100% !important;
    max-height: 76px !important;
    object-fit: contain;
    object-position: left center;
    transform: none;
  }
  .dq-header-main--desktop .dq-nav { width: 100%; justify-content: center; }
  .dq-header-main--desktop .dq-nav .dq-menu {
    display: flex;
    width: auto;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 2vw, 32px);
  }
  .dq-header-main--desktop .dq-nav .dq-menu > li {
    display: flex;
    align-items: center;
    min-height: 92px;
    margin: 0;
    padding: 0;
    border: 0;
  }
  .dq-header-main--desktop .dq-nav .dq-menu > li.dq-has-mega { position: static; }
  .dq-header-main--desktop .dq-nav .dq-menu > li > a {
    position: relative;
    padding: 9px 0;
    color: #111;
    font: 400 15px/28px XdpMenuMontserrat, Arial, sans-serif;
    letter-spacing: 0;
    white-space: nowrap;
    text-transform: uppercase;
  }
  .dq-header-main--desktop .dq-nav .dq-menu > li > a::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 0;
    display: block;
    width: auto;
    height: 2px;
    margin: 0;
    border: 0;
    background: linear-gradient(90deg, var(--dq-brand-blue, #0878e8), var(--dq-brand-gold, #ffc400));
    opacity: 0;
    transform: none;
    transition: opacity .2s ease;
  }
  .dq-header-main--desktop .dq-nav .dq-menu > li:hover > a,
  .dq-header-main--desktop .dq-nav .dq-menu > li:focus-within > a,
  .dq-header-main--desktop .dq-nav .dq-menu > li.is-open > a,
  .dq-header-main--desktop .dq-nav .dq-menu > li.current-menu-item > a { color: var(--dq-brand-blue, #0878e8); }
  .dq-header-main--desktop .dq-nav .dq-menu > li:hover > a::after,
  .dq-header-main--desktop .dq-nav .dq-menu > li:focus-within > a::after,
  .dq-header-main--desktop .dq-nav .dq-menu > li.is-open > a::after,
  .dq-header-main--desktop .dq-nav .dq-menu > li.current-menu-item > a::after { opacity: 1; }
  .dq-header-main--desktop .dq-submenu-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    border: 0;
  }
  .dq-header-main--desktop .dq-submenu-toggle:focus-visible {
    position: relative;
    width: 24px;
    height: 28px;
    margin: 0 0 0 4px;
    clip-path: none;
    background: #fff;
    color: #111;
  }
  .dq-header-main--desktop .dq-nav .dq-mega-menu {
    position: absolute;
    z-index: 120;
    top: 100%;
    left: 0;
    display: grid;
    grid-template-columns: clamp(235px, 20vw, 285px) clamp(220px, 19vw, 270px) minmax(0, 1fr);
    column-gap: 20px;
    width: 100%;
    min-height: 373px;
    max-height: calc(100dvh - 92px);
    padding: 30px;
    overflow: auto;
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
  }
  .dq-header-main--desktop .dq-mega-menu__column { min-width: 0; padding-right: 0; }
  .dq-header-main--desktop .dq-mega-menu__trends {
    min-width: 0;
    padding-left: 20px;
    border-left: 1px dashed #212121;
  }
  .dq-header-main--desktop .dq-nav li.dq-has-mega:hover > .dq-mega-menu,
  .dq-header-main--desktop .dq-nav li.dq-has-mega:focus-within > .dq-mega-menu,
  .dq-header-main--desktop .dq-nav li.dq-has-mega.is-open > .dq-mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .dq-header-main--desktop .dq-nav li.dq-has-mega > .dq-mega-menu.dq-mega-menu--suppressed {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .dq-header-main--desktop .dq-header-zone--right .search-form { width: 190px; }
  .dq-header-main--desktop .dq-header-zone--right .search-field {
    height: 38px;
    padding-left: 12px;
    border: 1px solid #212121;
    border-radius: 10px;
    color: #111;
    font-weight: 400;
  }
  .dq-header-main--desktop .dq-header-zone--right .search-submit { top: 2px; right: 3px; }
}
@media (min-width: 1440px) {
  .dq-header-main--desktop .dq-header-main__grid {
    grid-template-columns: 300px minmax(0, 1fr) 240px;
    gap: 28px;
  }
  .dq-header-main--desktop .dq-logo { width: 300px; }
  .dq-header-main--desktop .dq-logo img { width: 300px !important; transform: scaleX(1.16); }
  .dq-header-main--desktop .dq-nav .dq-menu > li > a { font-size: 16px; }
  .dq-header-main--desktop .dq-header-zone--right .search-form { width: 240px; }
}
@media (min-width: 1100px) and (max-width: 1199px) {
  .dq-header-main--desktop .dq-header-main__grid { grid-template-columns: 220px minmax(0, 1fr) 190px; gap: 16px; }
  .dq-header-main--desktop .dq-logo { width: 220px; }
  .dq-header-main--desktop .dq-logo img { width: 220px !important; transform: scaleX(1.06); }
  .dq-header-main--desktop .dq-nav .dq-menu { gap: 10px; }
  .dq-header-main--desktop .dq-mega-menu__cards { gap: 12px; }
}

@media (max-width: 1099px) {
  .dq-header .dq-header-main--desktop,
  .dq-header .dq-header-bottom,
  .dq-header .dq-topbar--desktop-only { display: none; }
  .dq-header .dq-header-main--mobile,
  .dq-header .dq-topbar--mobile-only { display: block; }
  .dq-header .dq-mobile-header__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    min-height: 70px;
    gap: 10px;
  }
  .dq-header-main--mobile .dq-logo {
    position: static;
    width: min(265px, 68vw);
    height: 64px;
    overflow: hidden;
    transform: none;
  }
  .dq-header-main--mobile .dq-logo img {
    width: 100% !important;
    height: 64px !important;
    max-width: 100% !important;
    max-height: 64px !important;
    object-fit: contain;
    object-position: center;
    transform: none;
  }
  .dq-header .dq-menu-toggle,
  .dq-header .dq-search-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .dq-header .dq-mobile-header__left .dq-menu-toggle { margin-left: 0; }
  .dq-header .dq-mobile-nav {
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    z-index: 120;
    max-height: calc(100dvh - 70px);
    padding: 12px 16px;
    overflow-y: auto;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
  }
  .dq-header .dq-mobile-nav.is-open { display: block; }
  .dq-header .dq-mobile-nav .dq-menu { display: block; }
  .dq-header .dq-mobile-nav .dq-menu > li {
    position: relative;
    padding: 12px 0;
    border-bottom: 1px solid #e5e7eb;
  }
  .dq-header .dq-mobile-nav .dq-menu > li > a {
    display: block;
    padding-right: 44px;
    color: #111;
    font: 400 15px/26px XdpMenuMontserrat, Arial, sans-serif;
    text-transform: uppercase;
  }
  .dq-header .dq-mobile-nav .dq-submenu-toggle {
    position: absolute;
    top: 7px;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    background: #fff;
    color: #111;
    cursor: pointer;
  }
  .dq-header .dq-mobile-nav .dq-mega-menu {
    display: none;
    position: static;
    width: 100%;
    margin-top: 20px;
    padding: 0 6px 10px;
    background: #fff;
    opacity: 1;
    visibility: visible;
    box-shadow: none;
  }
  .dq-header .dq-mobile-nav li.is-open > .dq-mega-menu { display: block; }
  .dq-header .dq-mobile-nav .dq-mega-menu__column + .dq-mega-menu__column,
  .dq-header .dq-mobile-nav .dq-mega-menu__trends { margin-top: 30px; }
  .dq-header .dq-mobile-nav .dq-mega-menu__trends { padding-top: 24px; border-top: 1px dashed #212121; }
  .dq-header .dq-mobile-nav .dq-mega-menu__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
  .dq-header .dq-mobile-search { display: none; padding: 0 0 12px; }
  .dq-header .dq-mobile-search.is-open { display: block; }
  .dq-header .dq-mobile-search .search-form { display: flex; gap: 8px; }
  .dq-header .dq-mobile-search .search-form label { flex: 1; min-width: 0; }
  .dq-header .dq-mobile-search .search-field { width: 100%; padding: 9px 10px; border: 1px solid #ddd; border-radius: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .dq-header .dq-mega-menu,
  .dq-header .dq-menu a,
  .dq-header .dq-menu a::after { transition: none !important; }
}

/* Native WordPress catalogue menu: click opens level 1, hover opens level 2. */
@media (min-width: 1100px) {
  .dq-header-main--desktop .dq-nav .dq-menu > li.dq-catalog-menu { position: relative; }
  .dq-header-main--desktop .dq-catalog-menu > .dqt-native-submenu-toggle {
    position: static; display: inline-grid; width: 20px; height: 30px; margin-left: 3px; padding: 0;
    place-items: center; border: 0; background: transparent; color: var(--dq-brand-orange,#ff7f1a); cursor: pointer;
  }
  .dq-header-main--desktop .dq-catalog-menu > .dqt-native-submenu-toggle span {
    display: block; font-size: 18px; line-height: 1; transform: rotate(90deg); transition: transform .2s ease;
  }
  .dq-header-main--desktop .dq-catalog-menu.is-open > .dqt-native-submenu-toggle span { transform: rotate(270deg); }
  .dq-header-main--desktop .dq-catalog-menu .sub-menu {
    position: absolute; z-index: 150; top: 100%; left: 50%; display: block; width: 330px;
    max-height: min(72vh,620px); margin: 0; padding: 8px 0; overflow: visible; list-style: none;
    border: 1px solid #e3e9ee; border-radius: 0 0 10px 10px; background: rgba(255,255,255,.985);
    box-shadow: 0 18px 42px rgba(17,55,89,.16); opacity: 0; visibility: hidden; pointer-events: none;
    transform: translate(-50%,8px); transition: opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .dq-header-main--desktop .dq-catalog-menu.is-open > .sub-menu,
  .dq-header-main--desktop .dq-catalog-menu:hover > .sub-menu,
  .dq-header-main--desktop .dq-catalog-menu:focus-within > .sub-menu {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0);
  }
  .dq-header-main--desktop .dq-catalog-menu .sub-menu li { position: relative; margin: 0; padding: 0; border: 0; }
  .dq-header-main--desktop .dq-catalog-menu .sub-menu li > a {
    display: block; min-height: 48px; padding: 12px 46px 12px 20px; color: #1d3348;
    font: 400 16px/24px XdpMenuMontserrat,Arial,sans-serif; text-transform: none;
    transition: color .18s ease,background .18s ease,padding-left .18s ease;
  }
  .dq-header-main--desktop .dq-catalog-menu .sub-menu li:hover > a,
  .dq-header-main--desktop .dq-catalog-menu .sub-menu li:focus-within > a,
  .dq-header-main--desktop .dq-catalog-menu .sub-menu li.is-open > a {
    padding-left: 24px; background: #f3f9fd; color: var(--dq-brand-orange,#ff7f1a);
  }
  .dq-header-main--desktop .dq-catalog-menu .sub-menu .dqt-native-submenu-toggle {
    position: absolute; z-index: 2; top: 7px; right: 8px; display: grid; width: 34px; height: 34px;
    padding: 0; place-items: center; border: 0; background: transparent; color: #a9b6c2; font-size: 25px; cursor: pointer;
  }
  .dq-header-main--desktop .dq-catalog-menu .sub-menu .sub-menu {
    top: -9px; left: 100%; max-height: min(72vh,620px); border-radius: 0 10px 10px 0;
    opacity: 0; visibility: hidden; pointer-events: none; transform: translate(8px,0);
  }
  .dq-header-main--desktop .dq-catalog-menu .sub-menu li:hover > .sub-menu,
  .dq-header-main--desktop .dq-catalog-menu .sub-menu li:focus-within > .sub-menu,
  .dq-header-main--desktop .dq-catalog-menu .sub-menu li.is-open > .sub-menu {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translate(0,0);
  }
}

@media (max-width: 1099px) {
  .dq-header .dq-mobile-nav .dq-catalog-menu > a,
  .dq-header .dq-mobile-nav .dq-catalog-menu .menu-item-has-children > a { padding-right: 50px; }
  .dq-header .dq-mobile-nav .dq-catalog-menu .dqt-native-submenu-toggle {
    position: absolute; top: 7px; right: 0; display: grid; width: 38px; height: 38px; padding: 0;
    place-items: center; border: 1px solid #dce6ed; border-radius: 8px; background: #f7fbfe;
    color: var(--dq-brand-blue,#0878e8); cursor: pointer;
  }
  .dq-header .dq-mobile-nav .dq-catalog-menu .sub-menu {
    display: none; position: static; width: 100%; margin: 10px 0 0; padding: 0 0 0 14px;
    list-style: none; border-left: 2px solid #dcecf5; background: transparent;
  }
  .dq-header .dq-mobile-nav .dq-catalog-menu.is-open > .sub-menu,
  .dq-header .dq-mobile-nav .dq-catalog-menu .menu-item-has-children.is-open > .sub-menu { display: block; }
  .dq-header .dq-mobile-nav .dq-catalog-menu .sub-menu li { position: relative; padding: 7px 0; border-bottom: 1px solid #edf1f4; }
  .dq-header .dq-mobile-nav .dq-catalog-menu .sub-menu a { display: block; padding: 7px 46px 7px 4px; color: #20384f; text-transform: none; }
}

/* Desktop layout with the brand mark pinned to the true horizontal center. */
@media (min-width: 1100px) {
  .dq-header-main--centered .dq-header-centered__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(220px, 19vw, 280px) minmax(0, 1fr);
    align-items: center;
    width: min(1640px, calc(100% - 64px));
    min-height: 92px;
    margin-inline: auto;
    gap: clamp(14px, 1.6vw, 28px);
  }
  .dq-header-main--centered .dq-header-centered__side {
    display: flex;
    min-width: 0;
    align-items: center;
  }
  .dq-header-main--centered .dq-header-centered__side--left { justify-content: flex-end; }
  .dq-header-main--centered .dq-header-centered__side--right { justify-content: flex-start; gap: clamp(16px, 1.5vw, 24px); }
  .dq-header-main--centered .dq-header-centered__logo {
    display: grid;
    min-width: 0;
    place-items: center;
    text-align: center;
  }
  .dq-header-main--centered .dq-header-centered__logo .dq-logo {
    position: static;
    display: inline-flex;
    width: 100%;
    height: 80px;
    justify-content: center;
    overflow: visible;
    transform: none;
  }
  .dq-header-main--centered .dq-header-centered__logo .dq-logo img {
    display: block;
    width: 100% !important;
    height: 76px !important;
    max-width: 100% !important;
    max-height: 76px !important;
    object-fit: contain;
    object-position: center;
    transform: none;
  }
  .dq-header-main--centered .dq-nav { width: auto; flex: 0 1 auto; }
  .dq-header-main--centered .dq-nav .dq-menu {
    width: auto;
    justify-content: flex-start;
    gap: clamp(16px, 1.6vw, 28px);
  }
  .dq-header-main--centered .dq-nav .dq-menu > li { min-height: 92px; }
  .dq-header-main--centered .dq-header-centered__side--right .search-form {
    position: relative;
    flex: 0 1 200px;
    width: clamp(150px, 14vw, 210px);
    margin: 0 0 0 clamp(6px, .8vw, 12px);
  }
  .dq-header-main--centered .dq-header-centered__side--right .search-form label { display: block; }
  .dq-header-main--centered .dq-header-centered__side--right .search-field {
    display: block;
    width: 100%;
    height: 42px;
    padding: 0 46px 0 15px;
    border: 1px solid #9aa9b5;
    border-radius: 13px;
    background: #fff;
    color: #173e61;
    font: 400 14px/1 XdpMenuMontserrat, Arial, sans-serif;
    outline: 0;
  }
  .dq-header-main--centered .dq-header-centered__side--right .search-field:focus {
    border-color: var(--dq-brand-blue, #0878e8);
    box-shadow: 0 0 0 3px rgba(8,120,232,.12);
  }
  .dq-header-main--centered .dq-header-centered__side--right .search-submit {
    position: absolute;
    top: 4px;
    right: 5px;
    width: 34px;
    height: 34px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 50%;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173e61' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") center/20px no-repeat;
    color: transparent;
    font-size: 0;
    cursor: pointer;
  }
}

@media (min-width: 1100px) and (max-width: 1240px) {
  .dq-header-main--centered .dq-header-centered__grid {
    grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr);
    width: calc(100% - 32px);
    gap: 12px;
  }
  .dq-header-main--centered .dq-nav .dq-menu { gap: 11px; }
  .dq-header-main--centered .dq-nav .dq-menu > li > a { font-size: 13px; }
  .dq-header-main--centered .dq-header-centered__side--right { gap: 10px; }
  .dq-header-main--centered .dq-header-centered__side--right .search-form { width: 138px; }
}
