
/* Opto Zero v3.49 — category/sidebar refinement */

/* ===== DESKTOP ONLY ===== */
@media (min-width: 992px) {
  /* Slightly wider highlighted left area without wasting vertical space. */
  .oc-home-page-v15 .oc-home-master-layout {
    grid-template-columns: 252px minmax(0,1fr) !important;
    gap: 15px !important;
  }

  .oc-page-wrap .oc-catalog-layout {
    grid-template-columns: 242px minmax(0,1fr) !important;
    gap: 14px !important;
  }

  .oc-home-page-v15 .oc-sidebar-card,
  .oc-page-wrap .oc-sidebar-card {
    border-radius: 12px !important;
    margin-bottom: 9px !important;
  }

  .oc-home-page-v15 .oc-categories-card .oc-sidebar-title,
  .oc-page-wrap .oc-categories-card .oc-sidebar-title,
  .oc-home-page-v15 .oc-filter-head .oc-sidebar-title,
  .oc-page-wrap .oc-filter-head .oc-sidebar-title {
    font-size: 15.5px !important;
    line-height: 1.1 !important;
    padding: 11px 12px 7px !important;
  }

  .oc-home-page-v15 .oc-category-list,
  .oc-page-wrap .oc-category-list {
    padding: 0 6px 7px !important;
  }

  .oc-home-page-v15 .oc-category-link,
  .oc-page-wrap .oc-category-link {
    min-height: 32px !important;
    gap: 8px !important;
    padding: 6px 7px !important;
    border-radius: 7px !important;
    font-size: 11.8px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
  }

  .oc-home-page-v15 .oc-category-icon,
  .oc-page-wrap .oc-category-icon {
    width: 18px !important;
    min-width: 18px !important;
    font-size: 12px !important;
  }

  .oc-home-page-v15 .oc-category-chevron,
  .oc-page-wrap .oc-category-chevron {
    margin-left: auto !important;
    font-size: 10px !important;
  }

  .oc-home-page-v15 .oc-category-children,
  .oc-page-wrap .oc-category-children {
    padding: 1px 0 4px 27px !important;
  }

  .oc-home-page-v15 .oc-category-children a,
  .oc-page-wrap .oc-category-children a {
    padding: 4px 5px !important;
    font-size: 10.2px !important;
    line-height: 1.15 !important;
  }

  /* Filters: slightly larger text, but denser vertical rhythm. */
  .oc-home-page-v15 .oc-filter-head,
  .oc-page-wrap .oc-filter-head {
    padding: 10px 12px 7px !important;
  }

  .oc-home-page-v15 .oc-filter-clear,
  .oc-page-wrap .oc-filter-clear {
    font-size: 10.5px !important;
  }

  .oc-home-page-v15 .oc-filter-section,
  .oc-page-wrap .oc-filter-section {
    padding: 9px 12px !important;
  }

  .oc-home-page-v15 .oc-filter-title,
  .oc-page-wrap .oc-filter-title {
    margin-bottom: 6px !important;
    font-size: 11.5px !important;
  }

  .oc-home-page-v15 .oc-filter-check,
  .oc-page-wrap .oc-filter-check {
    gap: 6px !important;
    margin-bottom: 4px !important;
    font-size: 10.6px !important;
    line-height: 1.15 !important;
  }

  .oc-home-page-v15 .oc-price-inputs input,
  .oc-page-wrap .oc-price-inputs input {
    height: 30px !important;
    padding: 0 7px !important;
    font-size: 10.5px !important;
  }

  .oc-home-page-v15 .oc-price-range-live,
  .oc-page-wrap .oc-price-range-live {
    margin-bottom: 5px !important;
  }

  .oc-home-page-v15 .oc-filter-apply,
  .oc-page-wrap .oc-filter-apply {
    height: 32px !important;
    margin: 6px 12px 5px !important;
    width: calc(100% - 24px) !important;
    font-size: 11px !important;
  }

  /* Highlighted top controls: a little larger, still compact. */
  .oc-home-page-v15 .oc-toolbar-ref {
    gap: 6px !important;
    margin-bottom: 8px !important;
  }

  .oc-home-page-v15 .oc-toolbar-pill,
  .oc-home-page-v15 .oc-sort-pill {
    height: 33px !important;
    padding: 0 11px !important;
    border-radius: 7px !important;
    font-size: 10.3px !important;
    font-weight: 800 !important;
  }

  .oc-home-page-v15 .oc-toolbar-stock {
    height: 33px !important;
    font-size: 10px !important;
  }
}

/* ===== MOBILE ONLY ===== */
@media (max-width: 767px) {
  /* Drawer itself a little wider so larger category names still fit. */
  .oc-filter-drawer-body {
    width: min(91vw, 360px) !important;
  }

  /* Only category part is enlarged; filter sections keep their current compact size. */
  .oc-filter-drawer .oc-categories-card .oc-sidebar-title {
    padding: 12px 12px 8px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-list {
    padding: 0 7px 8px !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-row {
    margin-bottom: 2px !important;
    border-radius: 9px !important;
    overflow: hidden !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-link {
    min-height: 43px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 9px 9px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-icon {
    width: 21px !important;
    min-width: 21px !important;
    font-size: 14px !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 13px !important;
    transition: transform .18s ease !important;
    transform-origin: center !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-row.is-expanded > .oc-category-link,
  .oc-filter-drawer .oc-categories-card .oc-category-row.active > .oc-category-link {
    background: #eaf2ff !important;
    color: #0d5de6 !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-row.is-expanded > .oc-category-link .oc-category-chevron,
  .oc-filter-drawer .oc-categories-card .oc-category-row.active > .oc-category-link .oc-category-chevron {
    transform: rotate(90deg) !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-children {
    display: none !important;
    padding: 2px 7px 8px 37px !important;
    gap: 3px !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-children.open,
  .oc-filter-drawer .oc-categories-card .oc-category-row.is-expanded > .oc-category-children {
    display: grid !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-children a {
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    padding: 7px 8px !important;
    border-radius: 8px !important;
    color: #59677a !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }

  .oc-filter-drawer .oc-categories-card .oc-category-children a:active,
  .oc-filter-drawer .oc-categories-card .oc-category-children a.active {
    background: #eef5ff !important;
    color: #0d5de6 !important;
  }

  /* Make the opener itself clearer on phones. */
  .oc-mobile-filter-btn[data-oc-open-filters] {
    min-height: 42px !important;
    padding: 0 13px !important;
    border-radius: 11px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
  }
}
