/* SLABS N' STACKS — shop/search refinement for HUSKY/WOOF + WooCommerce
 * v2.39.1. Scoped to body.sns-shop-search-page so it cannot alter the rest of the site.
 */
body.sns-shop-search-page {
  --sns-shop-red: #c51f0a;
  --sns-shop-red-dark: #9f1808;
  --sns-ink: #17233a;
  --sns-muted: #667085;
  --sns-line: #d9dee7;
  --sns-panel: #ffffff;
  --sns-panel-soft: #f6f7f9;
  --sns-radius: 8px;
  --sns-shadow: 0 8px 24px rgba(23,35,58,.08);
}

/* Give the filter column a deliberate collector-tool appearance. */
body.sns-shop-search-page .woof,
body.sns-shop-search-page .woof_sid,
body.sns-shop-search-page .woof_redraw_zone {
  color: var(--sns-ink);
}
body.sns-shop-search-page .woof_redraw_zone {
  background: var(--sns-panel);
  border: 1px solid var(--sns-line);
  border-top: 4px solid var(--sns-shop-red);
  border-radius: var(--sns-radius);
  box-shadow: var(--sns-shadow);
  padding: 18px;
}

/* Search field */
body.sns-shop-search-page .woof_text_search_container,
body.sns-shop-search-page .woof_container {
  margin: 0;
  padding: 0;
}
body.sns-shop-search-page .woof_text_search_container {
  margin-bottom: 10px;
}
body.sns-shop-search-page .woof_text_search_container input[type="search"],
body.sns-shop-search-page .woof_text_search_container input[type="text"],
body.sns-shop-search-page .woof input[type="search"],
body.sns-shop-search-page .woof input[type="text"] {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cbd2dc;
  border-radius: 6px;
  background: #fff;
  padding: 9px 12px;
  color: var(--sns-ink);
  box-shadow: inset 0 1px 2px rgba(23,35,58,.04);
}
body.sns-shop-search-page .woof input[type="search"]:focus,
body.sns-shop-search-page .woof input[type="text"]:focus {
  border-color: var(--sns-shop-red);
  box-shadow: 0 0 0 3px rgba(197,31,10,.12);
  outline: 0;
}

/* Accordion/filter groups */
body.sns-shop-search-page .woof_container {
  border-top: 1px solid #e6e9ee;
}
body.sns-shop-search-page .woof_container:first-of-type {
  border-top: 0;
}
body.sns-shop-search-page .woof_container_inner {
  padding: 0;
}
body.sns-shop-search-page .woof_container h4,
body.sns-shop-search-page .woof_container .woof_container_inner > h4,
body.sns-shop-search-page .woof_container .woof_container_inner > strong,
body.sns-shop-search-page .woof_container .woof_container_inner > .woof_block_html_items + * {
  color: var(--sns-ink);
}
body.sns-shop-search-page .woof_container h4,
body.sns-shop-search-page .woof_container .woof_container_inner > h4 {
  margin: 0;
  padding: 14px 2px;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 800;
}
body.sns-shop-search-page .woof_front_toggle,
body.sns-shop-search-page .woof_show_auto_form,
body.sns-shop-search-page .woof_hide_auto_form {
  color: var(--sns-shop-red) !important;
  font-weight: 900;
  text-decoration: none;
}
body.sns-shop-search-page .woof_block_html_items {
  padding: 0 2px 13px;
}

/* Checkbox lists */
body.sns-shop-search-page .woof_list,
body.sns-shop-search-page .woof_list_checkbox {
  margin: 0;
  padding: 0;
}
body.sns-shop-search-page .woof_list li,
body.sns-shop-search-page .woof_list_checkbox li {
  margin: 0 !important;
  padding: 0 !important;
}
body.sns-shop-search-page .woof_list label,
body.sns-shop-search-page .woof_list_checkbox label {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
  margin: 0 !important;
  padding: 7px 4px !important;
  border-radius: 5px;
  color: #27364f;
  font-size: 14px;
  line-height: 1.35;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
body.sns-shop-search-page .woof_list label:hover,
body.sns-shop-search-page .woof_list_checkbox label:hover {
  background: #f3f5f8;
  color: #111827;
}
body.sns-shop-search-page .woof input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin: 1px 0 0 !important;
  accent-color: var(--sns-shop-red);
}
body.sns-shop-search-page .woof_checkbox_count {
  margin-left: auto;
  color: #8992a3;
  font-size: 12px;
}

/* "Show more" should look like an intentional secondary control. */
body.sns-shop-search-page .woof_open_hidden_li,
body.sns-shop-search-page .woof_open_hidden_li a,
body.sns-shop-search-page .woof_open_hidden_li span {
  color: var(--sns-shop-red) !important;
  font-weight: 700;
  text-decoration: none;
}
body.sns-shop-search-page .woof_open_hidden_li {
  display: inline-block;
  margin: 7px 0 2px !important;
  padding: 5px 9px !important;
  border: 1px solid #ead1cc;
  border-radius: 999px;
  background: #fff8f6;
}

/* Selected filters / reset */
body.sns-shop-search-page .woof_products_top_panel {
  margin: 0 0 18px;
  padding: 10px 12px;
  border: 1px solid var(--sns-line);
  border-radius: 6px;
  background: #fff;
}
body.sns-shop-search-page .woof_products_top_panel li a {
  color: var(--sns-ink);
  font-weight: 700;
}
body.sns-shop-search-page .woof_reset_search_form,
body.sns-shop-search-page .woof_submit_search_form {
  min-height: 40px;
  border-radius: 5px !important;
  font-weight: 800 !important;
}
body.sns-shop-search-page .woof_submit_search_form {
  background: var(--sns-shop-red) !important;
  border-color: var(--sns-shop-red) !important;
  color: #fff !important;
}
body.sns-shop-search-page .woof_submit_search_form:hover {
  background: var(--sns-shop-red-dark) !important;
  border-color: var(--sns-shop-red-dark) !important;
}

/* Make product cards visually belong to the same system without fighting Kadence. */
body.sns-shop-search-page ul.products li.product,
body.sns-shop-search-page .products .product {
  border: 1px solid var(--sns-line);
  border-top: 2px solid #222;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(23,35,58,.055);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.sns-shop-search-page ul.products li.product:hover,
body.sns-shop-search-page .products .product:hover {
  transform: translateY(-2px);
  border-color: #c8ced8;
  box-shadow: 0 10px 25px rgba(23,35,58,.11);
}
body.sns-shop-search-page ul.products li.product .price,
body.sns-shop-search-page .products .product .price {
  color: #e00000;
  font-weight: 800;
}

/* Tablet/mobile: filters remain clean rather than becoming a huge white card. */
@media (max-width: 1024px) {
  body.sns-shop-search-page .woof_redraw_zone { padding: 14px; }
}
@media (max-width: 767px) {
  body.sns-shop-search-page .woof_redraw_zone {
    border-top-width: 3px;
    box-shadow: 0 4px 16px rgba(23,35,58,.07);
  }
  body.sns-shop-search-page .woof_container h4,
  body.sns-shop-search-page .woof_container .woof_container_inner > h4 { padding: 13px 2px; }
}

/* v2.41.1 — HUSKY checkbox rows.
 * IMPORTANT: do not force display:flex on the <li>. HUSKY's Show more / Show less
 * feature hides excess terms by changing the list item's display state; overriding
 * that display value makes hidden Character terms stay visible after collapsing.
 * Keep HUSKY in control of visibility and align the sibling checkbox/label inline. */
body.sns-shop-search-page .woof_list_checkbox li {
  min-height: 32px;
  padding: 2px 4px !important;
  border-radius: 5px;
  transition: background-color .15s ease;
}
body.sns-shop-search-page .woof_list_checkbox li:hover {
  background: #f3f5f8;
}
body.sns-shop-search-page .woof_list_checkbox li > input[type="checkbox"] {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  margin: 0 9px 0 0 !important;
  vertical-align: middle !important;
}
body.sns-shop-search-page .woof_list_checkbox li > label {
  display: inline !important;
  margin: 0 !important;
  padding: 5px 0 !important;
  line-height: 1.35;
  vertical-align: middle;
  cursor: pointer;
  background: transparent !important;
}
body.sns-shop-search-page .woof_list_checkbox li > .woof_checkbox_count {
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
}
