/* ===== SHOP & PRODUCT CARD ===== */
.woocommerce-shop .woocommerce-products-header__title.page-title{margin:0 0 12px;font-size:clamp(24px,3vw,32px);line-height:1.2}
body.woocommerce-shop #sidebar{display:none}
body.woocommerce-shop > .w,
body.tax-product_cat > .w{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:24px;align-items:start}
body.woocommerce-shop > .w > .woocommerce-breadcrumb,
body.tax-product_cat > .w > .woocommerce-breadcrumb,
body.woocommerce-shop > .w > .woocommerce-products-header,
body.tax-product_cat > .w > .woocommerce-products-header{grid-column:1/-1}
body.woocommerce-shop > .w > .sahaj-product-filters,
body.tax-product_cat > .w > .sahaj-product-filters{grid-column:1;grid-row:3/span 5;display:flex;align-items:stretch;flex-direction:column;gap:0;align-self:start;margin:0;padding:24px 26px;border:1px solid #e1e5ed;border-radius:20px;background:#fff}
body.woocommerce-shop > .w > .woocommerce-notices-wrapper,
body.tax-product_cat > .w > .woocommerce-notices-wrapper{grid-column:2}
body.woocommerce-shop > .w > .woocommerce-notices-wrapper:empty,
body.tax-product_cat > .w > .woocommerce-notices-wrapper:empty{display:none}
body.woocommerce-shop > .w > .woocommerce-result-count,
body.tax-product_cat > .w > .woocommerce-result-count{grid-column:2;grid-row:3;align-self:center;margin:0}
body.woocommerce-shop > .w > .woocommerce-ordering,
body.tax-product_cat > .w > .woocommerce-ordering{grid-column:2;grid-row:3;justify-self:end;margin:0}
body.woocommerce-shop > .w > ul.products,
body.tax-product_cat > .w > ul.products{grid-column:2;grid-row:4}
body.woocommerce-shop > .w > .woocommerce-pagination,
body.tax-product_cat > .w > .woocommerce-pagination{grid-column:2}
.sahaj-filter-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:18px}
.sahaj-filter-header .sahaj-filter-heading{color:#171c2b;font-size:20px;font-weight:800}
.sahaj-filter-header .sahaj-filter-clear{padding:0;color:#2563eb;font-size:14px;font-weight:700;text-decoration:none}
.sahaj-filter-header .sahaj-filter-clear:hover{text-decoration:underline}
.sahaj-filter-section{min-width:0;margin:0;padding:22px 0;border:0;border-top:1px solid #edf0f5}
.sahaj-filter-section legend,.sahaj-filter-more summary{display:block;width:100%;margin:0 0 14px;padding:0;color:#171c2b;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sahaj-filter-category-list,.sahaj-filter-option-list{display:grid;gap:12px;max-height:250px;overflow-y:auto}
.sahaj-filter-category-list label,.sahaj-filter-option-list label{display:flex;align-items:center;gap:12px;margin:0;color:#30384a;font-size:14px;line-height:1.4;cursor:pointer}
.sahaj-filter-category-list input,.sahaj-filter-option-list input,.sahaj-filter-sale input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#3268e8;cursor:pointer}
.sahaj-filter-option-list input[type=radio]{appearance:none;border:1.5px solid #858b96;border-radius:3px;background:#fff}
.sahaj-filter-option-list input[type=radio]:checked{border-color:#3268e8;background:#3268e8;box-shadow:inset 0 0 0 4px #fff}
.sahaj-filter-price{padding-bottom:24px}
.sahaj-filter-price legend{margin-bottom:20px}
.sahaj-price-range{position:relative;height:26px;margin:0 0 10px}
.sahaj-price-range::before,.sahaj-price-range::after{position:absolute;top:10px;right:0;left:0;height:6px;border-radius:5px;content:"";pointer-events:none}
.sahaj-price-range::before{background:#e4e8f0}
.sahaj-price-range::after{left:var(--sahaj-price-min,0%);right:calc(100% - var(--sahaj-price-max,100%));background:#3268e8}
.sahaj-price-range input[type=range]{position:absolute;top:0;left:0;width:100%;height:26px;margin:0;padding:0;border:0;border-radius:0;background:none;appearance:none;-webkit-appearance:none;pointer-events:none}
.sahaj-price-range input[type=range]::-webkit-slider-runnable-track{height:6px;background:transparent}
.sahaj-price-range input[type=range]::-moz-range-track{height:6px;background:transparent}
.sahaj-price-range input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px;border:0;border-radius:50%;background:#3268e8;box-shadow:0 1px 4px #0002;appearance:none;-webkit-appearance:none;pointer-events:auto;cursor:grab}
.sahaj-price-range input[type=range]::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:#3268e8;box-shadow:0 1px 4px #0002;pointer-events:auto;cursor:grab}
.sahaj-price-range-labels{display:flex;justify-content:space-between;gap:8px;color:#657086;font-size:13px}
.sahaj-filter-more{padding-bottom:18px}
.sahaj-filter-more summary{position:relative;margin-bottom:0;cursor:pointer;list-style:none}
.sahaj-filter-more summary::-webkit-details-marker{display:none}
.sahaj-filter-more summary::after{position:absolute;right:2px;content:"+";font-size:20px;line-height:1;letter-spacing:0}
.sahaj-filter-more[open] summary{margin-bottom:16px}
.sahaj-filter-more[open] summary::after{content:"−"}
.sahaj-filter-rating{display:grid;gap:6px;margin-bottom:14px;color:var(--s);font-size:13px;font-weight:700}
.sahaj-filter-rating select{width:100%;min-height:40px}
.sahaj-product-filters .sahaj-filter-sale{display:flex!important;align-items:center;gap:10px!important;margin:0;color:#30384a;font-size:14px}
.sahaj-filter-apply{width:100%;min-height:44px;margin-top:4px;border:0;border-radius:8px;background:#12aee5;color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:background .18s}
.sahaj-filter-apply:hover{background:#0996c7}
.sahaj-mobile-shop-toolbar,.sahaj-mobile-sheet-close{display:none}
.pc{border:1px solid var(--l);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:.25s;position:relative}
.pc:hover{transform:translateY(-4px);box-shadow:0 10px 28px #0001}
.im{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-size:80px;overflow:hidden;transition:.4s;background:#f8f8f8}
.im img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.pc:hover .im{transform:scale(1.07)}
.imw{overflow:hidden}
.bd{position:absolute;top:10px;left:10px;background:var(--g);color:#fff;font-size:11px;font-weight:800;padding:3px 8px;border-radius:4px;z-index:2}
.wl{position:absolute;top:8px;right:8px;background:#fff;border:0;border-radius:50%;width:34px;height:34px;z-index:2;font-size:17px;box-shadow:0 1px 6px #0002}
.wl.on{color:#e0245e;animation:pop .35s}
.pb{padding:12px;display:flex;flex-direction:column;gap:3px;flex:1}
.pb .n{font-weight:800}
.pb small{color:var(--s)}
.pr b{font-size:17px}
.pr s{color:var(--s);margin:0 6px;font-size:13px}
.pr em{color:var(--g);font-style:normal;font-weight:800;font-size:13px}
.pa{display:flex;gap:6px;margin-top:auto;padding-top:8px}

/* Shop layout & filters */
.shop{display:grid;grid-template-columns:230px 1fr;gap:28px}
.flt{font-size:14px}
.flt label{display:block;padding:2px 0}
.flt h3{font-size:15px;margin:16px 0 4px}
.flt input[type=range]{padding:0}
.tb{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}

@media(max-width:760px){
  body.woocommerce-shop > .w,
  body.tax-product_cat > .w{grid-template-columns:1fr}
  body.woocommerce-shop > .w > .sahaj-product-filters,
  body.tax-product_cat > .w > .sahaj-product-filters{grid-column:1;grid-row:auto;margin-bottom:18px;padding:20px}
  body.woocommerce-shop > .w > .woocommerce-notices-wrapper,
  body.tax-product_cat > .w > .woocommerce-notices-wrapper,
  body.woocommerce-shop > .w > .woocommerce-result-count,
  body.tax-product_cat > .w > .woocommerce-result-count,
  body.woocommerce-shop > .w > .woocommerce-ordering,
  body.tax-product_cat > .w > .woocommerce-ordering,
  body.woocommerce-shop > .w > ul.products,
  body.tax-product_cat > .w > ul.products,
  body.woocommerce-shop > .w > .woocommerce-pagination,
  body.tax-product_cat > .w > .woocommerce-pagination{grid-column:1;grid-row:auto}
  body.woocommerce-shop > .w > .woocommerce-ordering,
  body.tax-product_cat > .w > .woocommerce-ordering{justify-self:stretch}
  body.woocommerce-shop > .w > .woocommerce-ordering,
  body.tax-product_cat > .w > .woocommerce-ordering{display:none}
  body.woocommerce-shop > .w > .woocommerce-ordering select,
  body.tax-product_cat > .w > .woocommerce-ordering select{width:100%}
  body.woocommerce-shop,
  body.tax-product_cat{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  body.woocommerce-shop > .w > .sahaj-product-filters,
  body.tax-product_cat > .w > .sahaj-product-filters{
    position:fixed;
    z-index:1002;
    right:0;
    bottom:0;
    left:0;
    display:none;
    width:100%;
    max-height:min(88dvh,760px);
    margin:0;
    padding:0 20px calc(20px + env(safe-area-inset-bottom,0px));
    overflow:auto;
    border:0;
    border-radius:20px 20px 0 0;
    background:#fff;
    box-shadow:0 -12px 40px #0002;
    grid-column:auto;
    grid-row:auto;
    overscroll-behavior:contain;
  }
  body.woocommerce-shop > .w > .sahaj-product-filters.is-open,
  body.tax-product_cat > .w > .sahaj-product-filters.is-open{display:block}
  .sahaj-filter-header{
    position:sticky;
    top:0;
    z-index:2;
    min-height:62px;
    margin:0 -20px;
    padding:16px 20px!important;
    border-bottom:1px solid #edf0f5;
    background:#fff;
  }
  .sahaj-filter-header .sahaj-filter-heading{font-size:18px}
  .sahaj-filter-section{padding:18px 0}
  .sahaj-filter-section legend,.sahaj-filter-more summary{font-size:13px}
  .sahaj-filter-category-list,.sahaj-filter-option-list{gap:14px}
  .sahaj-filter-category-list input,
  .sahaj-filter-option-list input,
  .sahaj-filter-sale input{width:22px;height:22px;flex-basis:22px}
  .sahaj-filter-apply{position:sticky;bottom:0;min-height:48px;margin-top:12px}
  .sahaj-mobile-sheet-close{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:#f3f5f7;
    color:#171c2b;
    font-size:24px;
    line-height:1;
  }
  .sahaj-filter-header .sahaj-mobile-sheet-close{margin-left:auto}
  .sahaj-filter-header .sahaj-mobile-sheet-close{display:grid}
  .sahaj-mobile-filter-overlay[hidden],
  .sahaj-mobile-sort-sheet[hidden]{display:none}
  .sahaj-mobile-filter-overlay{
    position:fixed;
    z-index:1001;
    inset:0;
    background:#11182780;
    backdrop-filter:blur(2px);
  }
  .sahaj-mobile-shop-toolbar{
    position:fixed;
    z-index:1000;
    right:0;
    bottom:0;
    left:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:58px;
    padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px));
    border-top:1px solid #e8ebf0;
    background:#fff;
    box-shadow:0 -4px 18px #0000000d;
  }
  .sahaj-mobile-shop-toolbar button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    border:0;
    background:#fff;
    color:#171c2b;
    font:inherit;
    font-size:14px;
    font-weight:800;
  }
  .sahaj-mobile-shop-toolbar button+button{border-left:1px solid #e8ebf0}
  .sahaj-mobile-shop-toolbar button:before{width:15px;height:15px;content:""}
  .sahaj-mobile-sort-trigger:before{background:repeating-linear-gradient(to bottom,#171c2b 0 1px,transparent 1px 5px)}
  .sahaj-mobile-filter-trigger:before{background:#171c2b;clip-path:polygon(0 0,100% 0,62% 45%,62% 100%,38% 82%,38% 45%)}
  .sahaj-mobile-sort-sheet{
    position:fixed;
    z-index:1002;
    right:0;
    bottom:0;
    left:0;
    display:grid;
    grid-template-columns:1fr auto;
    gap:0 12px;
    max-height:80dvh;
    padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));
    overflow:auto;
    border-radius:20px 20px 0 0;
    background:#fff;
    box-shadow:0 -12px 40px #0002;
    overscroll-behavior:contain;
  }
  .sahaj-mobile-sort-sheet>strong{align-self:center;font-size:18px}
  .sahaj-mobile-sort-sheet>.sahaj-mobile-sheet-close{grid-column:2;grid-row:1}
  .sahaj-mobile-sort-options{grid-column:1/-1;display:grid;margin:12px -20px -20px}
  .sahaj-mobile-sort-options button{
    min-height:52px;
    padding:12px 20px;
    border:0;
    border-top:1px solid #edf0f5;
    background:#fff;
    color:#30384a;
    text-align:left;
    font:inherit;
    font-size:14px;
  }
  .sahaj-mobile-sort-options button.is-selected{color:#2563eb;font-weight:800}
  body.sahaj-mobile-sheet-open{overflow:hidden}
}
