.wc-cat-attrs,
.wc-cat-attrs-list,
.wc-cat-attrs table {
  /* Inherit font settings from the theme (Elementor or theme styles) */
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  line-height: inherit;
}

.wc-cat-attrs { margin-top: 1.25rem; }
.wc-cat-attrs-list { list-style: none; padding: 0; margin: 0; }
.wc-cat-attrs-list li { margin-bottom: .5rem; }
.wc-attr-icon { display: inline-block; width: 16px; height: 16px; margin-right: 6px; vertical-align: middle; }
.wc-attr-icon img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }

/* Sidebar filters */
.wc-sidebar-filters { border: 1px solid #eee; padding: 12px; border-radius: 6px; }
.wc-sidebar-block + .wc-sidebar-block { margin-top: 16px; }
.wc-sidebar-block h3 { margin: 0 0 8px; font-size: 16px; }
.wc-filter-list { list-style: none; margin: 0; padding: 0; }
.wc-filter-item { margin: 4px 0; }
.wc-filter-link { display: inline-block; text-decoration: none; color: #333; }
.wc-filter-link:hover { color: #0073aa; }
.wc-filter-sublist { list-style: none; margin: 4px 0 0 14px; padding: 0; }
.wc-filter-item.is-active > .wc-filter-link { font-weight: 600; color: #0073aa; }

/* Brand logos in sidebar: adapt varied sizes */
.wc-filter-brands .wc-filter-item { overflow: visible; }
/* Grid layout for brand list: side-by-side without overflow */
.wc-filter-brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); gap: 10px; align-items: center; justify-items: center; }
.wc-filter-brands .wc-filter-item { margin: 0; }
.wc-filter-brands .wc-filter-link { display: flex; align-items: center; justify-content: center; padding: 4px; width: 100%; }
/* Unified height for brand boxes (logos and no-logo), not 1:1 */
.wc-brand-box { 
  --wc-brand-h: 40px; 
  --wc-brand-vpad: 6px; 
  display: inline-flex; align-items: center; justify-content: center; 
  border: 1px solid #727171; border-radius: 9px; background: #fff; 
  padding: var(--wc-brand-vpad) 10px; min-height: var(--wc-brand-h);
  width: 100%; height: auto; max-width: 100%; box-sizing: border-box;
}
.wc-brand-logo { display: block; max-width: 100% !important; height: auto; width: auto; object-fit: contain; 
  max-height: calc(var(--wc-brand-h) - (var(--wc-brand-vpad) * 2)) !important; }
.wc-brand-box.no-logo .wc-brand-name { display: inline-block; font-size: 11px; color: #333; padding: 2px 4px; text-align: center; line-height: 1.1; }
/* No-logo boxes follow the same height as logo boxes */
.wc-brand-box.no-logo { padding: var(--wc-brand-vpad) 10px; min-height: var(--wc-brand-h); box-sizing: border-box; width: auto; height: auto; }
.wc-brand-box.no-logo .wc-brand-name { font-size: 12px; font-weight: 600; white-space: normal; overflow: hidden; text-overflow: clip; word-break: break-word; text-align: center; }
@media (min-width: 480px) {
  .wc-filter-brands { grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); }
  /* Increase unified brand height at this breakpoint */
  .wc-brand-box { --wc-brand-h: 44px; }
  .wc-brand-logo { max-width: 100% !important; }
}
@media (min-width: 768px) {
  .wc-filter-brands { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); }
  /* Increase unified brand height at this breakpoint */
  .wc-brand-box { --wc-brand-h: 48px; }
  .wc-brand-logo { max-width: 100% !important; }

/* Hover effects for brands and links */
.wc-filter-brands .wc-filter-link:hover { color: #0073aa; }
.wc-filter-brands .wc-filter-link:hover .wc-brand-box { border-color: #ff6b00; box-shadow: 0 0 0 2px #ff6b0021; }
.wc-filter-brands .wc-filter-link:hover .wc-brand-name { color: #ff6b00; }
}

/* Subcategory badges under brands */
.wc-subcat-badges { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.wc-subcat-badges .wc-badge { display: inline-block; padding: 6px 10px; border-radius: 20px; border: 1px solid #ddd; background: #f7f7f7; color: #333; text-decoration: none; font-size: 13px; max-width: 100%; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wc-subcat-badges .wc-badge.long { white-space: normal; word-break: break-word; overflow-wrap: anywhere; }
.wc-subcat-badges .wc-badge:hover { background: #ff6b00; color: #fff; border-color: #ff6b00; }
.wc-subcat-badges .wc-badge.is-active { background: #ff6b0021; color: #12284c; border-color: #ff6b00; }

.wc-cat-attrs table { border-collapse: collapse; width: 100%; }
.wc-cat-attrs table th { text-align: left; padding-right: 1rem; }

/* Styles for [wc_all_products] output */
.wc-all-products { display: grid; grid-template-columns: repeat(1, 1fr); gap: 18px; margin: 18px 0; }
.wc-all-product-item { border: 1px solid #eee; padding: 12px; border-radius: 6px; text-align: center; background: #fff; }
.wc-all-product-item img { max-width: 100%; height: auto; display: block; margin: 0 auto 8px; }
.wc-all-product-title { font-size: 16px; margin: 6px 0 0; color: inherit; }
.wc-all-products-pagination { margin-top: 16px; text-align: center; }
.wc-all-products-pagination ul { list-style: none; padding: 0; margin: 0; display: inline-flex; gap: 6px; }
.wc-all-products-pagination li { margin: 0; }
.wc-all-products-pagination a, .wc-all-products-pagination span { display: inline-block; padding: 6px 10px; border-radius: 4px; border: 1px solid #ddd; text-decoration: none; color: #333; }
.wc-all-products-pagination .current { background: #0073aa; color: #fff; border-color: #0073aa; }
@media (min-width: 700px) {
  .wc-all-products { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1000px) {
  .wc-all-products { grid-template-columns: repeat(3, 1fr); }
}

/* Inline format for attribute icons */
.wc-attr-icons.format-inline { display: block; }
.wc-attr-icons.format-inline .wc-attr-icon-item { display: inline-flex; flex-direction: row; align-items: center; justify-content: flex-start; vertical-align: middle; margin-right: 16px; gap: 8px; text-align: left; }
.wc-attr-icons.format-inline .wc-attr-icon { display: inline-block; width: var(--wc-attr-size, 28px); height: var(--wc-attr-size, 28px); max-width: none; flex: 0 0 auto; }
.wc-attr-icons.format-inline .wc-attr-icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
.wc-attr-icon-label { display: block; font-size: 13px; margin: 0 0 2px 0; line-height: 1.1; }
.wc-attr-icon-text { display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.wc-cat-attr-icons-on-single { margin-top: 12px; }
/* value centering and spacing */
.wc-attr-icon-value { display: inline-block; font-size: 13px; color: #3a3a3a; margin: 0; line-height: 1; }
.wc-attr-icon-item .wc-attr-icon-value { font-weight: 600; }

/* Responsive: stack vertically on very small screens */
@media (max-width: 420px) {
  .wc-attr-icons.format-inline .wc-attr-icon-item { flex-direction: column; align-items: center; text-align: center; }
  .wc-attr-icon-label, .wc-attr-icon-value { display: block; margin-top: 6px; }
}

/* PDF button icon alignment */
.wc-product-pdf-button .dashicons { margin-right: 8px; vertical-align: middle; }