/* VOEVODA — catalog-specific refinements */
.catalog-filter-group--subcategories{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
.catalog-filter-group--subcategories[hidden]{display:none!important}
.catalog-filter-group--subcategories .catalog-filter-label{display:block;margin-bottom:10px}
.catalog-subcategory-note{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
html[data-theme="light"] .catalog-subcategory-note{color:#776957!important}

/* Compact product cards in the catalog. */
.page-catalog .product-grid--catalog{gap:11px}
.page-catalog .product-grid--catalog .product-card{min-height:0}
.page-catalog .product-grid--catalog .product-card__image{aspect-ratio:1.58/1}
.page-catalog .product-grid--catalog .product-card__body{padding:10px 11px 11px}
.page-catalog .product-grid--catalog .product-card__category{font-size:8px;line-height:1.15}
.page-catalog .product-grid--catalog .product-card__brand{margin-top:3px;font-size:8px;line-height:1.15}
.page-catalog .product-grid--catalog .product-card h3{margin:5px 0 6px;font-size:14px;line-height:1.15;min-height:32px}
.page-catalog .product-grid--catalog .product-card__review-link{margin:4px 0 0;padding:4px 6px;font-size:8px;gap:4px}
.page-catalog .product-grid--catalog .product-card__filter-meta{gap:4px;margin:4px 0 5px}
.page-catalog .product-grid--catalog .product-card__filter-meta span{padding:3px 5px;font-size:7px}
.page-catalog .product-grid--catalog .product-card__compare{margin-top:5px;min-height:28px;font-size:10px}
.page-catalog .product-grid--catalog .product-card__footer{gap:7px;padding-top:8px}
.page-catalog .product-grid--catalog .product-card__price small{font-size:8px}
.page-catalog .product-grid--catalog .product-card__price strong{margin-top:2px;font-size:15px;line-height:1.15}
.page-catalog .product-grid--catalog .product-card__price .product-price__old{margin-top:3px;font-size:10px}
.page-catalog .product-grid--catalog .product-card__ammo-note{margin-top:3px;font-size:8px}
.page-catalog .product-grid--catalog .product-card__button{min-height:34px;padding:0 8px;font-size:8px}
.page-catalog .product-grid--catalog .stock-alert-button{min-height:32px;margin-top:6px;padding:0 7px;font-size:8px}
.page-catalog .product-grid--catalog .product-card__engagement{right:7px;top:7px}
.page-catalog .product-grid--catalog .product-card__engagement .engagement-icon-button{min-width:30px;height:30px;font-size:15px}
.page-catalog .product-grid--catalog .product-card__badges{left:8px;top:8px;gap:4px;max-width:calc(100% - 16px)}
.page-catalog .product-grid--catalog .product-card__badges .product-card__badge{padding:4px 6px;font-size:7px}

/* Desktop: filters and products have their own scroll areas; page navigation stays visible. */
@media (min-width: 901px) {
  .page-catalog .catalog-layout{align-items:start}

  .page-catalog .catalog-sidebar{
    position:sticky;
    top:106px;
    max-height:calc(100vh - 126px);
    max-height:calc(100dvh - 126px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior-y:auto;
    scrollbar-width:thin;
    scrollbar-color:rgba(205,170,107,.55) transparent;
  }

  .page-catalog .catalog-results{
    min-width:0;
    height:calc(100vh - 126px);
    height:calc(100dvh - 126px);
    max-height:calc(100vh - 126px);
    max-height:calc(100dvh - 126px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding-right:8px;
  }

  .page-catalog .catalog-results__head{
    flex:0 0 auto;
    min-height:44px;
    margin-bottom:8px;
    padding:4px 2px 8px;
    background:#080b07;
  }

  .page-catalog .catalog-products-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior-y:auto;
    padding-right:3px;
    scrollbar-width:thin;
    scrollbar-color:rgba(205,170,107,.55) transparent;
  }

  .page-catalog .catalog-pagination{
    flex:0 0 auto;
    z-index:7;
  }

  .page-catalog .catalog-sidebar::-webkit-scrollbar,
  .page-catalog .catalog-products-scroll::-webkit-scrollbar{width:7px}
  .page-catalog .catalog-sidebar::-webkit-scrollbar-track,
  .page-catalog .catalog-products-scroll::-webkit-scrollbar-track{background:transparent}
  .page-catalog .catalog-sidebar::-webkit-scrollbar-thumb,
  .page-catalog .catalog-products-scroll::-webkit-scrollbar-thumb{background:rgba(205,170,107,.48);border-radius:999px}
  .page-catalog .catalog-sidebar::-webkit-scrollbar-thumb:hover,
  .page-catalog .catalog-products-scroll::-webkit-scrollbar-thumb:hover{background:rgba(205,170,107,.78)}

  html[data-theme="light"] .page-catalog .catalog-results__head{background:#f4ecdf}
}

/* Tablet: cards stay moderately compact without squeezing text. */
@media (min-width: 641px) and (max-width: 1200px) {
  .page-catalog .product-grid--catalog .product-card__image{aspect-ratio:1.45/1}
  .page-catalog .product-grid--catalog .product-card h3{font-size:13px}
}

/* Mobile/tablet keeps the normal single page scroll. */
@media (max-width: 900px) {
  .page-catalog .catalog-sidebar,
  .page-catalog .catalog-results,
  .page-catalog .catalog-products-scroll{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }
  .page-catalog .product-grid--catalog .product-card__image{aspect-ratio:1.45/1}
}


/* VOEVODA 1.0.81 — catalog hero uses the same geometry as Contacts. */
.page-catalog .page-hero--catalog{
  min-height:176px !important;
  padding:22px 0 24px !important;
  align-items:center !important;
}
.page-catalog .page-hero--catalog .page-hero__inner{
  display:block !important;
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
}
.page-catalog .page-hero--catalog .page-hero__copy{
  max-width:100% !important;
}
.page-catalog .page-hero--catalog .breadcrumbs{
  margin:0 0 6px !important;
  font-size:10px !important;
  font-weight:700 !important;
}
.page-catalog .page-hero--catalog .kicker{
  display:block !important;
  margin:0 0 6px !important;
  font-size:10px !important;
}
.page-catalog .page-hero--catalog h1{
  margin:0 0 9px !important;
  font-size:clamp(38px,4vw,58px) !important;
  line-height:.95 !important;
}
.page-catalog .page-hero--catalog p{
  max-width:760px !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

@media(max-width:620px){
  .page-catalog .page-hero--catalog{
    min-height:150px !important;
    padding:16px 0 18px !important;
  }
  .page-catalog .page-hero--catalog .page-hero__inner{
    width:min(100%,calc(100% - 24px)) !important;
  }
  .page-catalog .page-hero--catalog h1{
    font-size:32px !important;
  }
  .page-catalog .page-hero--catalog p{
    font-size:11px !important;
  }
}

/* 2.1.3.3: category accordion — only the selected parent exposes its subcategories. */
.catalog-category-tree__group{display:flex;flex-direction:column;gap:5px}
.catalog-category-tree__children{display:flex;flex-direction:column;gap:5px;margin:0 0 5px 12px;padding-left:10px;border-left:1px solid var(--line-soft)}
.catalog-category-tree__children[hidden]{display:none!important}
.catalog-category-tree__child{font-size:.92em;opacity:.92}
.catalog-category-tree__child::before{content:"↳";margin-right:7px;opacity:.55}
.catalog-category-tree__parent.is-active{font-weight:700}
@media(max-width:900px){.catalog-category-tree__children{margin-left:8px;padding-left:8px}}

/* 2.1.4 — mobile catalog polish (360–430 px). */
@media (max-width:430px){
  .page-catalog .catalog-section{padding-top:18px}
  .page-catalog .catalog-mobile-toggle{position:sticky;top:68px;z-index:24;width:100%;min-height:44px;margin:0 0 10px;padding:0 12px;border-radius:10px;background:rgba(12,13,10,.96);backdrop-filter:blur(12px)}
  html[data-theme="light"] .page-catalog .catalog-mobile-toggle{background:rgba(250,247,241,.97)}
  .page-catalog .catalog-sidebar{padding:12px!important;border-radius:12px}
  .page-catalog .catalog-sidebar__head{margin-bottom:10px}
  .page-catalog .catalog-search--sidebar input,.page-catalog .catalog-select-field select,.page-catalog .catalog-price-filter input{min-height:44px;font-size:16px}
  .page-catalog .catalog-category-tree .filter-button{min-height:42px;padding:9px 10px;text-align:left}
  .page-catalog .catalog-category-tree__children{margin-left:6px;padding-left:7px}
  .page-catalog .catalog-results__head{align-items:flex-start;gap:8px;flex-direction:column}
  .page-catalog .catalog-sort{width:100%}
  .page-catalog .catalog-sort select{width:100%;min-height:42px;font-size:16px}
  .page-catalog .product-grid--catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .page-catalog .product-grid--catalog .product-card__body{padding:8px}
  .page-catalog .product-grid--catalog .product-card h3{font-size:12px;min-height:42px}
  .page-catalog .product-grid--catalog .product-card__price strong{font-size:14px}
  .page-catalog .catalog-pagination{max-width:100%;overflow-x:auto;justify-content:flex-start;padding:9px 4px;scrollbar-width:none}
  .page-catalog .catalog-pagination::-webkit-scrollbar{display:none}
  .page-catalog .catalog-pagination__page,.page-catalog .catalog-pagination__arrow{min-height:38px;padding:0 10px;flex:0 0 auto}
}
@media (max-width:370px){
  .page-catalog .product-grid--catalog{grid-template-columns:1fr}
  .page-catalog .product-grid--catalog .product-card h3{min-height:0;font-size:14px}
}
