/* DroneX 86.0 — scoped home-category rhythm + expandable catalog dropdown.
   Builds on v84; does not alter the CMS-driven category tree or its localized URLs. */

/* --- Home: one balanced gap per section instead of catalog padding +
   category margin + promo padding stacking together. --- */
.dx-theme.main_page .dx-home-content > .homepage-catalog {
  padding-bottom:0 !important;
}
.dx-theme.main_page .dx-home-content > .dx-home-category-section {
  --dx-category-section-space:var(--dx-major-section-gap,80px);
  box-sizing:border-box;
  width:100%;
  margin:0 !important;
  padding:var(--dx-category-section-space) 0 !important;
  border:0 !important;
  background:transparent;
}
.dx-theme.main_page .dx-home-content > .dx-home-promos {
  margin-top:0 !important;
  padding-top:0 !important;
}
/* The divider uses the very same .container as the product slider and promos.
   All tiles stretch across that shared content width without hidden overflow. */
.dx-theme.main_page .dx-home-category-section > .dx-category-strip.container {
  display:grid;
  grid-auto-flow:row;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
  grid-auto-columns:auto;
  align-items:stretch;
  justify-content:stretch;
  column-gap:clamp(14px,1.3vw,22px);
  row-gap:22px;
  box-sizing:border-box;
  width:100%;
  max-width:1500px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  border-top:0;
  overflow:visible !important;
  scrollbar-width:none;
}
.dx-theme.main_page .dx-home-category-section .dx-category-tile {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  box-sizing:border-box;
  position:relative;
  width:100%;
  max-width:none;
  min-width:0;
  align-self:stretch;
  padding:0 4px;
  margin-top:0;
  border:0;
  text-align:center;
  color:inherit;
  transition:color .18s ease;
}
.dx-theme.main_page .dx-home-category-section .dx-category-tile__image {
  flex:0 0 auto;
  width:min(100%,120px);
  max-width:120px;
  aspect-ratio:1/1;
}
.dx-theme.main_page .dx-home-category-section .dx-category-tile__name {
  width:100%;
  max-width:100%;
  overflow-wrap:anywhere;
  white-space:normal;
  text-wrap:pretty;
}
@media (max-width:991px) {
  .dx-theme.main_page .dx-home-content > .dx-home-category-section {
    --dx-category-section-space:clamp(44px,6vw,64px);
  }
  .dx-theme.main_page .dx-home-category-section > .dx-category-strip.container {
    grid-template-columns:repeat(auto-fit,minmax(108px,1fr));
    row-gap:20px;
  }
}
@media (max-width:575px) {
  .dx-theme.main_page .dx-home-content > .dx-home-category-section {
    --dx-category-section-space:40px;
  }
  .dx-theme.main_page .dx-home-category-section > .dx-category-strip.container {
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:12px;
    row-gap:20px;
  }
  .dx-theme.main_page .dx-home-category-section .dx-category-tile {
    padding:0 2px;
  }
  .dx-theme.main_page .dx-home-category-section .dx-category-tile__image {
    width:min(100%,100px);
  }
}
@media (prefers-reduced-motion:reduce) {
  .dx-theme.main_page .dx-home-category-section .dx-category-tile {transition:none;}
}

/* --- Catalog: override old OkayCMS height:400px, reference 300px/560px,
   v83's vh cap and native overflow-y:auto !important. The menu is ABSOLUTE
   by design; it overlays page content, but its white panel is never cropped. */
.dx-theme .dx-header,
.dx-theme .dx-header .dx-searchbar,
.dx-theme .dx-header .dx-searchbar__inner {
  overflow:visible !important;
}
.dx-theme .dx-header .categories_nav.dx-catalog-menu {
  box-sizing:border-box;
  height:max-content !important;
  block-size:max-content !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  overscroll-behavior:auto;
}
.dx-theme .dx-header .categories_nav.dx-catalog-menu > .categories_nav__menu,
.dx-theme .dx-header .categories_nav.dx-catalog-menu > .categories_nav__menu > ul.categories_menu {
  box-sizing:border-box;
  display:block;
  height:max-content !important;
  block-size:max-content !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  overflow-y:visible !important;
}
.dx-theme .dx-header .categories_nav.dx-catalog-menu .subcategory,
.dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_nav__subcategory {
  box-sizing:border-box;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  overflow-y:visible !important;
}
.dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_menu,
.dx-theme .dx-header .categories_nav.dx-catalog-menu ul.subcategory {
  list-style:none;
  scrollbar-width:none;
}
.dx-theme .dx-header .categories_nav.dx-catalog-menu .scroll,
.dx-theme .dx-header .categories_nav.dx-catalog-menu .fn_category_scroll {
  max-height:none !important;
  overflow:visible !important;
  overflow-y:visible !important;
}
.dx-theme .dx-header .categories_nav.dx-catalog-menu .hover_scroll,
.dx-theme .dx-header .categories_nav.dx-catalog-menu .hover_scroll_up,
.dx-theme .dx-header .categories_nav.dx-catalog-menu .hover_scroll_down {display:none !important;}
/* Desktop fly-outs retain a full-height white panel and hover/focus behavior. */
@media (min-width:992px) {
  .dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_nav__subcategory {
    min-height:100% !important;
  }
}
/* On mobile/tablet a long menu extends with the DOCUMENT, not with an
   internally scrolling 58/65/72dvh dropdown. Nested categories expand inline. */
@media (max-width:991px) {
  .dx-theme .dx-header .categories_nav.dx-catalog-menu {
    height:max-content !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_nav__subcategory {
    position:relative;
    top:auto;
    left:auto;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    transform:none !important;
    box-shadow:none;
    border-radius:0;
  }
  .dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_menu__item.dx-touch-open > .categories_nav__subcategory {
    display:block;
  }
}

/* v86 — ensure the native OkayCMS catalog's WHITE PANELS match the dynamic
   list height after categories are added, removed or translated. The regular
   document scrollbar remains available for unusually long mobile menus. */
.dx-theme .dx-header .categories_nav.dx-catalog-menu,
.dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_nav__menu,
.dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_nav__subcategory,
.dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_menu,
.dx-theme .dx-header .categories_nav.dx-catalog-menu .subcategory {
  max-height:none !important;
  min-height:0;
  overflow-y:visible !important;
  background:#fff;
}
.dx-theme .dx-header .categories_nav.dx-catalog-menu > .categories_nav__menu > .categories_menu {
  height:auto !important;
  overflow:visible !important;
}
@media (min-width:992px) {
  .dx-theme .dx-header .categories_nav.dx-catalog-menu {
    height:auto !important;
  }
  .dx-theme .dx-header .categories_nav.dx-catalog-menu .categories_nav__subcategory {
    height:auto !important;
  }
}
/* Use the exact same centered width and gutters as surrounding homepage
   sections; do not scale images to fill the flexible columns. */
.dx-theme.main_page .dx-home-content > .dx-home-category-section > .dx-category-strip.container {
  max-width:1500px !important;
  /* Inherit native .container padding and breakpoint-specific gutters. */
}
