/* ============================================================
   Shop page (page-product.php) + brand archive (taxonomy-product_brand.php)
   Brand headings inside the normal product grid + "Shop by brand" jump links.
   Scoped to .section-productlist
   ============================================================ */

/* jump links */
.section-productlist .shop_brand_nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 30px; padding: 12px 16px; background: #f4f9f7; border-radius: 6px; font-family: Barlow; }
.section-productlist .shop_brand_nav_label { font-weight: 600; color: #1f4e4e; margin-right: 6px; }
.section-productlist .shop_brand_nav a { display: inline-block; padding: 5px 13px; background: #fff; border: 1px solid #cfe5db; border-radius: 20px; color: #1f4e4e; font-size: 15px; font-weight: 600; transition: all .25s; }
.section-productlist .shop_brand_nav a span { color: #66b193; font-weight: 400; }
.section-productlist .shop_brand_nav a:hover { background: #66b193; border-color: #66b193; color: #fff; text-decoration: none; }
.section-productlist .shop_brand_nav a:hover span { color: #fff; }

/* brand heading row: spans the whole product grid, no card styling */
.woocommerce ul.products li.brand_heading,
.woocommerce-page ul.products li.brand_heading,
.section-productlist ul.products li.brand_heading { grid-column: 1 / -1; background: none !important; padding: 18px 0 0 !important; margin: 0 !important; text-align: left; scroll-margin-top: 140px; }
.section-productlist ul.products li.brand_heading:before { display: none; content: none; }
.section-productlist .brand_heading_inner { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 0 0 14px; border-bottom: 2px solid #66b193; }
.section-productlist .brand_heading_logo { flex: 0 0 96px; width: 96px; height: 64px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #e3ede9; border-radius: 6px; padding: 6px; }
.section-productlist .brand_heading_logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.section-productlist .brand_heading_inner h3 { flex: 1 1 200px; margin: 0; font-size: 24px; text-transform: uppercase; }
.section-productlist .brand_heading_inner h3 a { color: #1f4e4e; }
.section-productlist .brand_heading_inner h3 a:hover { color: #66b193; text-decoration: none; }
.section-productlist .brand_heading_all { font-family: Barlow; font-weight: 600; color: #66b193; white-space: nowrap; }
.section-productlist .brand_heading_all:hover { color: #1f4e4e; text-decoration: none; }

/* brand archive: back link + count */
.section-productlist .brand_archive_back { display: inline-block; margin: 0 0 20px; font-family: Barlow; font-weight: 600; color: #66b193; }
.section-productlist .brand_archive_back:hover { color: #1f4e4e; text-decoration: none; }
.section-productlist .brand_archive_desc { font-family: Barlow; color: #555; margin: 0 0 20px; }

@media (max-width: 767px) {
  .section-productlist .brand_heading_logo { flex-basis: 72px; width: 72px; height: 50px; }
  .section-productlist .brand_heading_inner h3 { font-size: 19px; }
  .section-productlist .brand_heading_all { white-space: normal; }
}

/* ===== Shop page: left filter sidebar (Categories / Brand / R-value) ===== */
.shop_layout { display: flex; gap: 40px; align-items: flex-start; }
.shop_layout .shop_sidebar { flex: 0 0 240px; width: 240px; }
.shop_layout .shop_main { flex: 1 1 0; min-width: 0; }
.shop_filters { font-family: Barlow; position: sticky; top: 130px; }
.shop_filters_head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 6px; }
.shop_filters_title { font-size: 20px; font-weight: 700; color: #1f4e4e; }
.shop_filters_clear { font-size: 14px; color: #66b193; font-weight: 600; }
.shop_filters_clear:hover { color: #1f4e4e; text-decoration: none; }
.shop_filters_toggle { display: none; }
.shop_filter_group { border-top: 1px solid #e3ede9; padding: 12px 0 8px; }
.shop_filter_group summary { list-style: none; cursor: pointer; font-size: 16px; font-weight: 700; color: #1f4e4e; display: flex; justify-content: space-between; align-items: center; padding: 4px 0; }
.shop_filter_group summary::-webkit-details-marker { display: none; }
.shop_filter_group summary::after { content: "\f106"; font-family: FontAwesome; font-size: 16px; color: #66b193; transition: transform .2s; }
.shop_filter_group:not([open]) summary::after { transform: rotate(180deg); }
.shop_filter_group ul { float: none; width: auto; column-count: auto; margin: 6px 0 0; padding: 0; list-style: none; }
.shop_filter_group ul li { padding: 0 !important; margin: 0 !important; font-size: 15px; }
.shop_filter_group ul li:before { display: none; content: none; }
.shop_filter_group ul li a { display: flex; align-items: center; gap: 10px; padding: 6px 0; color: #444; }
.shop_filter_group ul li a:hover { color: #1f4e4e; text-decoration: none; }
.shop_filter_check { flex: 0 0 16px; width: 16px; height: 16px; border: 2px solid #b9cfc6; border-radius: 3px; background: #fff; position: relative; }
.shop_filter_group li.is-active .shop_filter_check { background: #66b193; border-color: #66b193; }
.shop_filter_group li.is-active .shop_filter_check:after { content: ""; position: absolute; left: 3px; top: 0; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.shop_filter_group li.is-active .shop_filter_name { color: #1f4e4e; font-weight: 700; }
.shop_filter_name { flex: 1 1 auto; }
.shop_filter_count { color: #999; font-size: 13px; }

/* active filter chips above the grid */
.shop_filter_chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; font-family: Barlow; }
.shop_filter_chip { display: inline-block; padding: 5px 12px; background: #e8f4ef; color: #1f4e4e; border-radius: 20px; font-size: 14px; font-weight: 600; }
.shop_filter_chip span { color: #66b193; margin-left: 4px; }
.shop_filter_chip:hover { background: #66b193; color: #fff; text-decoration: none; }
.shop_filter_chip:hover span { color: #fff; }
.shop_filter_chip_clear { background: #fff; border: 1px solid #cfe5db; }
.shop_no_results { padding: 40px 0; font-family: Barlow; font-size: 18px; }

/* filtered view: 3 columns fit the narrower content area better */
.shop_layout .shop_main ul.products { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 991px) {
  .shop_layout { flex-direction: column; gap: 20px; }
  .shop_layout .shop_sidebar { flex: 1 1 auto; width: 100%; }
  .shop_filters { position: static; }
  .shop_filters_toggle { display: inline-block; background: #66b193; color: #fff; border: 0; padding: 8px 16px; border-radius: 3px; font-weight: 600; }
  .shop_filters_body { display: none; }
  .shop_filters.is-open .shop_filters_body { display: block; }
  .shop_layout .shop_main ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) { .shop_layout .shop_main ul.products { grid-template-columns: 1fr; } }
