/* Superflies v2 — 40-catalog.css (plan.md §9; design: category.html, m-category.html)
   shop / category / tag / search / deals: title block, sub-type tiles, toolbar, WOOF filters,
   grid, card grid variant, show-more, pagination, mobile sticky toolbar + filter sheet. */

/* ---- title block ---- */
.sf-catalog__head{margin-bottom:20px}
.sf-catalog__title{margin:0;font-size:32px;font-weight:700;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.sf-catalog__count{font-size:16px;font-weight:500;color:var(--sf-muted)}
.sf-catalog__desc,.sf-catalog__desc-wrap .term-description{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--sf-text-2);max-width:720px}
.sf-catalog__desc p,.term-description p{margin:0 0 6px}
.term-description .showmore,.term-description .showless{color:var(--sf-link);font-size:14px;font-weight:500}
.term-description a{color:var(--sf-link)}

/* ---- sub-type chips (same pill style at every width; desktop wraps, mobile scrolls) ---- */
.sf-subtypes{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.sf-subtype{flex:none;display:inline-flex;align-items:center;gap:6px;background:var(--sf-white);border:1px solid var(--sf-border-2);border-radius:var(--sf-r-pill);padding:8px 12px;font-size:13px;font-weight:500;color:var(--sf-ink);text-decoration:none;white-space:nowrap;transition:border-color .12s,background-color .12s}
.sf-subtype:hover{border-color:var(--sf-navy);text-decoration:none;color:var(--sf-ink)}
.sf-subtype.is-current{border-color:var(--sf-navy);background:var(--sf-surface-2)}
.sf-subtype__img{display:none} /* thumbnails stay in the markup for the drawer/tiles elsewhere; the chip is text + count */
.sf-subtype__count{font-size:13px;font-weight:400;color:var(--sf-muted-2)}

/* ---- layout ---- */
.sf-catalog__body{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}
.sf-catalog__side{min-width:0}
.sf-catalog__main{min-width:0}

/* ---- toolbar ---- */
.sf-catalog__toolbar{margin-bottom:14px}
.sf-mobile-toolbar{display:none}
.sf-toolbar__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sf-toolbar__count{font-size:13px;color:var(--sf-muted);margin-right:6px}
.sf-toolbar__chips{display:flex;gap:6px;flex-wrap:wrap}
.sf-toolbar__chips:empty{display:none}
.sf-chip--filter{display:inline-flex;align-items:center;gap:6px;background:var(--sf-navy);color:var(--sf-white);border:0;border-radius:var(--sf-r-6);padding:5px 10px;font-size:13px;cursor:pointer}
.sf-chip--filter .sf-chip__x{opacity:.6}
.sf-chip--filter:hover .sf-chip__x{opacity:1}
.sf-toolbar__clear{font-size:13px}
.sf-toolbar__sort{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:13px}
.sf-ordering{display:flex;align-items:center;gap:8px;margin:0}
.sf-ordering__title{color:var(--sf-muted);font-size:13px}
.sf-ordering select.orderby,.sf-select{width:auto;background-color:var(--sf-white);border:1px solid var(--sf-border-2);border-radius:var(--sf-r-6);padding:7px 30px 7px 12px;font-size:13px;font-weight:500;line-height:1.3;color:var(--sf-ink)}

/* ---- filters (WOOF, §9.4) ---- */
.sf-filters{display:flex;flex-direction:column;gap:22px;font-size:14px}
.sf-filters .sf-ordering{display:none} /* moved into the toolbar by JS; hidden if JS is late */
.sf-filters__body .widget{list-style:none;margin:0;padding:0}
.sf-filters__body .widget-title{display:none}
.woof{font-family:var(--sf-font)}
.woof_container{margin:0 0 22px!important;padding:0!important}
.woof_container_inner h4{margin:0 0 8px!important;padding:0 0 6px!important;font-size:12px!important;font-weight:600!important;letter-spacing:.08em;text-transform:uppercase;color:var(--sf-ink)!important;border-bottom:1px solid var(--sf-border-5)!important;display:flex;justify-content:space-between;align-items:baseline}
.woof_container_overlay_item,.woof_products_top_panel,.woof_show_auto_form,.woof_edit_view,.woof_tooltip_inner,.woof_reset_search_form,.woof_submit_search_form_container,.woof_checkbox_count::before,.woof_checkbox_count::after{display:none!important}
.woof_list{list-style:none!important;margin:0!important;padding:0!important}
.woof_list li{margin:0!important;padding:0!important;line-height:1.4}
.woof_list_checkbox input.woof_checkbox_term{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.woof_list_checkbox label.woof_checkbox_label{display:flex!important;align-items:center;gap:10px;font-size:14px;font-weight:400;color:var(--sf-text);padding:5px 0!important;margin:0!important;cursor:pointer;line-height:1.35;width:100%} /* !important: WOOF front.css forces inline-block + margin-left 7px */
.woof_list_checkbox label.woof_checkbox_label::before{content:"";width:18px;height:18px;min-width:18px;border:1.5px solid var(--sf-muted-2);border-radius:var(--sf-r-4);background:var(--sf-white);display:inline-block;box-sizing:border-box}
.woof_list_checkbox label.woof_checkbox_label_selected::before{background:var(--sf-navy) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='9' viewBox='0 0 12 9'><path d='M1 4.5l3.5 3.5L11 1' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px 9px no-repeat;border-color:var(--sf-navy)}
.woof_list_checkbox label.woof_checkbox_label_selected{color:var(--sf-ink);font-weight:500}
.woof_list_checkbox input:disabled+label{color:var(--sf-muted-2)}
.woof_checkbox_count{margin-left:auto;color:var(--sf-muted-2);font-size:12px;font-weight:400}
.woof_childs_list{padding-left:24px!important}
.woof_open_hidden_li,.woof_open_hidden_li a{font-size:13px!important;color:var(--sf-link)!important;font-weight:500;text-decoration:none}
.woof_open_hidden_li{padding-top:4px!important}
.woof_hidden_term{display:none}
/* attribute lists → chip clouds */
.woof_container_pa_size .woof_list,.woof_container_pa_hook .woof_list,.woof_container_pa_bead .woof_list,.woof_container_pa_color .woof_list{display:flex;flex-wrap:wrap;gap:6px}
.woof_container_pa_hook .woof_list li,.woof_container_pa_bead .woof_list li,.woof_container_pa_color .woof_list li{display:inline-block!important;margin:0!important;padding:0!important;width:auto!important;flex:none}
.woof_container_pa_size .woof_list li{display:none;margin:0!important;padding:0!important;width:auto!important;flex:none} /* hidden by default; custom.js .show()s the number-only sizes (v1 behaviour, plan §9.4) */
.woof_container_pa_size .woof_list label.woof_checkbox_label,.woof_container_pa_hook .woof_list label.woof_checkbox_label,.woof_container_pa_bead .woof_list label.woof_checkbox_label,.woof_container_pa_color .woof_list label.woof_checkbox_label{display:inline-flex!important;align-items:center;gap:6px;padding:6px 10px!important;margin:0!important;width:auto;border:1px solid var(--sf-border-2);border-radius:var(--sf-r-6);font-size:13px;background:var(--sf-white);color:var(--sf-ink);transition:border-color .12s}
.woof_container_pa_size .woof_list label.woof_checkbox_label::before,.woof_container_pa_hook .woof_list label.woof_checkbox_label::before,.woof_container_pa_bead .woof_list label.woof_checkbox_label::before{display:none}
.woof_container_pa_size .woof_list label:hover,.woof_container_pa_hook .woof_list label:hover,.woof_container_pa_bead .woof_list label:hover,.woof_container_pa_color .woof_list label:hover{border-color:var(--sf-navy)}
.woof_container_pa_size .woof_list label.woof_checkbox_label_selected,.woof_container_pa_hook .woof_list label.woof_checkbox_label_selected,.woof_container_pa_bead .woof_list label.woof_checkbox_label_selected,.woof_container_pa_color .woof_list label.woof_checkbox_label_selected{border:1.5px solid var(--sf-navy);background:var(--sf-surface-2);padding:5.5px 9.5px!important;font-weight:500}
.woof_container_pa_size .woof_checkbox_count,.woof_container_pa_hook .woof_checkbox_count,.woof_container_pa_bead .woof_checkbox_count,.woof_container_pa_color .woof_checkbox_count{display:none}
.woof_container_pa_color .woof_list label.woof_checkbox_label{padding:5px 9px!important;font-size:12px}
.woof_container_pa_color .woof_list label.woof_checkbox_label::before{content:"";display:inline-block;width:12px;height:12px;min-width:12px;border-radius:50%;border:1px solid rgba(0,0,0,.15);background:var(--swatch,#94a3b8)}
.woof_container_pa_color .woof_list label.woof_checkbox_label_selected::before{background:var(--swatch,#94a3b8)}
/* in-stock toggle (if enabled) */
.woof_container_instock{background:var(--sf-white);border:1px solid var(--sf-border);border-radius:var(--sf-r-8);padding:12px 14px!important}
.woof_container_instock h4{display:none!important}
.woof_container_instock label{display:flex;align-items:center;justify-content:space-between;font-weight:500;cursor:pointer}
.woof_container_instock input[type=checkbox]{appearance:none;-webkit-appearance:none;width:36px;height:20px;border-radius:99px;background:var(--sf-border-2);position:relative;margin:0;cursor:pointer;flex:none;order:2}
.woof_container_instock input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--sf-white);transition:transform .15s}
.woof_container_instock input[type=checkbox]:checked{background:var(--sf-green)}
.woof_container_instock input[type=checkbox]:checked::after{transform:translateX(16px)}

/* ---- grid (4 cols) ---- */
.sf-catalog .products.sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.sf-catalog .products.sf-grid::before,.sf-catalog .products.sf-grid::after{display:none}
.sf-catalog .sf-grid>.product{width:auto;margin:0;float:none}
@media (max-width:1099px){.sf-catalog .products.sf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* rating printed by the v1 filter (.star-rating + .sf_review_count) styled like .sf-stars */
.sf-card .star-rating{position:relative;display:inline-block;width:5.25em;font-size:12px;line-height:1.2;letter-spacing:1px;color:var(--sf-border-2);white-space:nowrap;overflow:visible;margin:0;height:auto;font-family:var(--sf-font)}
.sf-card .star-rating::before{content:"★★★★★";position:static;color:var(--sf-border-2)}
.sf-card .star-rating>span{position:absolute;left:0;top:0;overflow:hidden;color:var(--sf-star);white-space:nowrap;padding-top:0;float:none}
.sf-card .star-rating>span::before{content:"★★★★★";position:static;color:var(--sf-star)}
.sf-card .star-rating .sf_review_count{position:absolute;left:100%;top:0;margin-left:4px;font-size:12px;color:var(--sf-muted);letter-spacing:0}
.sf-card .star-rating .sf_review_count::before{content:"("}
.sf-card .star-rating .sf_review_count::after{content:")"}
.sf-card__rating--empty{font-size:12px;color:var(--sf-muted);display:inline-flex;align-items:center;gap:4px}
.sf-card__rating--empty .sf-stars{font-size:12px}
/* card body as a grid so the hook order (title, rating, price, meta) renders like the design */
.sf-card--grid .sf-card__body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title price" "rating variants" "dots dots" "stock stock";gap:5px 8px;align-items:baseline}
.sf-card--grid .sf-card__title{grid-area:title}
.sf-card--grid .price{grid-area:price;font-size:14px;font-weight:700;white-space:nowrap;margin:0}
.sf-card--grid .price .woocommerce-Price-amount{font-weight:700}
.sf-card--grid .price del{font-weight:400;color:var(--sf-muted);margin-right:4px}
.sf-card--grid .price ins{text-decoration:none}
.sf-card--grid .star-rating,.sf-card--grid .sf-card__rating--empty{grid-area:rating;align-self:center}
.sf-card--grid .sf-card__variants{grid-area:variants;font-size:12px;color:var(--sf-muted);text-align:right;white-space:nowrap}
.sf-card--grid .sf-card__dots{grid-area:dots}
.sf-card--grid .sf-card__stock{grid-area:stock}
.sf-card--grid .admin_js_area{grid-column:1/-1}

/* ---- show more (infinite scroll plugin) + pagination ---- */
.sb-infinite-scroll-load-more,#sb-infinite-scroll-load-more{display:flex;justify-content:center;margin-top:24px;text-align:center}
.sb-infinite-scroll-load-more a,#sb-infinite-scroll-load-more a{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--sf-navy);border-radius:var(--sf-r-8);padding:11px 26px;font-size:14px;font-weight:600;color:var(--sf-navy);background:var(--sf-white);text-decoration:none;transition:background-color .15s,color .15s}
.sb-infinite-scroll-load-more a:hover,#sb-infinite-scroll-load-more a:hover{background:var(--sf-navy);color:var(--sf-white)}
.sf-pagination{margin-top:24px}
.sf-pagination.sb-hide{display:none}
.sf-pagination ul.page-numbers{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.sf-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--sf-border-2);border-radius:var(--sf-r-6);font-size:14px;color:var(--sf-ink);text-decoration:none;background:var(--sf-white)}
.sf-pagination .page-numbers.current{background:var(--sf-navy);color:var(--sf-white);border-color:var(--sf-navy)}
.sf-pagination .page-numbers.dots{border:0;background:none}

/* ---- mobile (m-category.html) ---- */
@media (max-width:767px){
  .sf-catalog__head{margin-bottom:0;padding-top:16px} /* gap below the navy header (demo m-category: padding 16px 16px 0) */
  .sf-breadcrumbs+.sf-main .sf-catalog__head{padding-top:6px} /* the breadcrumb row already adds ~44px */
  .sf-catalog__title{font-size:24px}
  .sf-catalog__count{font-size:14px}
  .sf-catalog__desc,.sf-catalog__desc-wrap .term-description{font-size:13px}
  .sf-subtypes{flex-wrap:nowrap;margin:12px -16px 0;padding:0 16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .sf-subtypes::-webkit-scrollbar{display:none}
  .sf-catalog__body{display:block}
  .sf-catalog__side{display:none} /* desktop filter body is moved into the sheet by JS */
  .sf-catalog__toolbar{margin:0 -16px 12px;padding:0 16px}
  .sf-mobile-toolbar{display:flex;gap:8px;align-items:center;position:sticky;top:0;z-index:30;background:var(--sf-surface);padding:12px 0}
  .sf-mobile-toolbar__filters{flex:1;display:inline-flex;gap:6px;padding:10px;font-size:14px;border-radius:var(--sf-r-8)}
  .sf-toolbar__badge{background:var(--sf-navy);color:var(--sf-white);border-radius:var(--sf-r-pill);font-size:11px;padding:1px 7px;line-height:1.5}
  .sf-mobile-toolbar__filters:hover .sf-toolbar__badge{background:var(--sf-white);color:var(--sf-navy)}
  .sf-mobile-toolbar__sort{flex:1;position:relative}
  .sf-mobile-toolbar__sort .sf-ordering{display:block;position:relative}
  .sf-mobile-toolbar__sort .sf-ordering__title{display:none}
  .sf-mobile-toolbar__sort select.orderby{width:100%;text-align:center;text-align-last:center;padding:10px 28px 10px 12px;font-size:14px;border-radius:var(--sf-r-8)}
  .sf-toolbar__row{gap:6px;font-size:12px}
  .sf-toolbar__count{order:3;margin:0;padding:4px 0;font-size:12px}
  .sf-chip--filter{padding:4px 8px;font-size:12px}
  .sf-toolbar__sort{display:none}
  .sf-catalog .products.sf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sf-card--grid .sf-card__body{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"title title" "price variants" "stock stock";gap:4px 6px}
  .sf-card--grid .price{font-size:13px;text-align:left}
  .sf-card--grid .sf-card__variants{font-size:11px;align-self:center;white-space:normal;line-height:1.3}
  .sf-card--grid .star-rating,.sf-card--grid .sf-card__rating--empty,.sf-card--grid .sf-card__dots{display:none}
  .sb-infinite-scroll-load-more a,#sb-infinite-scroll-load-more a{width:100%}
  .sf-sheet--filters .sf-sheet__body{padding:4px 0}
  .sf-sheet--filters .sf-filters{gap:18px}
}
