/* Demo14 shop page CSS, extracted from ecom/demo14/shop.php */
.shop-page{
    padding:18px 0 34px;
    background:var(--bg);
  }

  .shop-breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    font-size:13px;
    color:var(--muted);
    margin-bottom:14px;
  }

  .shop-breadcrumb a{
    color:var(--text-soft);
    font-weight:700;
  }

  .shop-breadcrumb strong{
    color:var(--heading);
  }

  .shop-hero{
    position:relative;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:18px;
    background:linear-gradient(135deg, rgba(212,175,55,.08), rgba(255,255,255,.02));
    margin-bottom:16px;
    padding:18px 14px;
  }

  .shop-hero::before{
    content:"";
    position:absolute;
    top:-50px;
    right:-30px;
    width:140px;
    height:140px;
    border-radius:50%;
    background:rgba(212,175,55,.05);
    filter:blur(10px);
  }

  .shop-hero-content{
    position:relative;
    z-index:2;
  }

  .shop-kicker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(212,175,55,.10);
    border:1px solid rgba(212,175,55,.18);
    color:var(--accent);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    margin-bottom:10px;
  }

  .shop-hero-title{
    font-size:22px;
    line-height:1.12;
    font-weight:900;
    color:var(--heading);
    margin-bottom:8px;
  }

  .shop-hero-text{
    font-size:13px;
    color:var(--text-soft);
    max-width:760px;
  }

  .shop-layout{
    display:flex;
    flex-direction:column;
    gap:16px;
  }

  .shop-main{
    order:1;
    min-width:0;
  }

  .shop-sidebar{
    order:2;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:20px;
    overflow:hidden;
    height:max-content;
  }

  .shop-card-head{
    padding:16px 16px 12px;
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }

  .shop-card-head h3{
    font-size:15px;
    font-weight:900;
    color:var(--heading);
  }

  .shop-card-head a{
    font-size:12px;
    font-weight:800;
    color:var(--primary);
  }

  .shop-filter-block{
    padding:14px 16px 16px;
    border-bottom:1px solid var(--border);
  }

  .shop-filter-block:last-child{
    border-bottom:none;
  }

  .shop-filter-title{
    font-size:13px;
    font-weight:900;
    color:var(--heading);
    margin-bottom:12px;
  }

  .shop-search{
    display:flex;
    align-items:center;
    gap:8px;
    height:46px;
    padding:0 12px;
    background:var(--surface-2);
    border:1px solid var(--border);
    border-radius:14px;
  }

  .shop-search input{
    width:100%;
    min-width:0;
    border:none;
    outline:none;
    background:transparent;
    color:var(--text);
    font-size:14px;
  }

  .shop-search input::placeholder{
    color:var(--muted-2);
  }

  .shop-category-list,
  .shop-brand-list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .shop-category-list li,
  .shop-brand-list li{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  .shop-check{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    color:var(--text-soft);
    font-weight:700;
  }

  .shop-check input{
    accent-color:#d4af37;
    width:16px;
    height:16px;
    flex-shrink:0;
  }

  .shop-count{
    min-width:28px;
    height:24px;
    padding:0 8px;
    border-radius:999px;
    background:var(--surface-2);
    border:1px solid var(--border);
    font-size:11px;
    font-weight:800;
    color:var(--muted);
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .price-range{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:12px;
  }

  .price-box{
    min-height:46px;
    border-radius:14px;
    background:var(--surface-2);
    border:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:800;
    color:var(--text-soft);
  }

  .filter-btn{
    width:100%;
    min-height:46px;
    border:none;
    border-radius:14px;
    background:var(--btn-primary-bg);
    color:#fff;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    box-shadow:var(--btn-primary-shadow);
    transition:var(--transition);
  }

  .filter-btn:hover{
    transform:translateY(-2px);
  }

  .shop-toolbar{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    padding:14px;
    margin-bottom:14px;
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .shop-toolbar-top{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .shop-result-text{
    font-size:13px;
    color:var(--text-soft);
    font-weight:700;
  }

  .shop-result-text strong{
    color:var(--heading);
  }

  .shop-toolbar-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .shop-select{
    width:100%;
    min-height:44px;
    border-radius:14px;
    border:1px solid var(--border);
    background:var(--surface-2);
    color:var(--text-soft);
    font-size:13px;
    font-weight:800;
    padding:0 12px;
    outline:none;
  }

  .shop-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }

  .shop-chip{
    min-height:36px;
    padding:0 14px;
    border-radius:999px;
    border:1px solid var(--border);
    background:var(--surface-2);
    color:var(--text-soft);
    font-size:12px;
    font-weight:800;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
  }

  .shop-chip.active{
    background:rgba(212,175,55,.12);
    color:var(--accent);
    border-color:rgba(212,175,55,.25);
  }

  .shop-product-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
  }

  .shop-product-grid .product-card{
    min-height:316px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface);
    padding:12px 10px 14px;
  }

  .shop-product-grid .product-card:nth-child(2n){
    border-right:1px solid var(--border);
  }

  .shop-product-grid .product-actions{
    justify-content:flex-end;
  }

  .shop-product-grid .product-thumb,
  .shop-product-grid .product-thumb img{
    width:96px;
    height:96px;
  }

  .shop-product-grid .product-name{
    max-width:150px;
    min-height:36px;
    font-size:11px;
  }

  .shop-product-grid .product-price{
    font-size:13px;
  }

  .shop-product-grid .old-price{
    font-size:11px;
  }

  .shop-empty-state{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    padding:28px 18px;
    text-align:center;
    color:var(--text-soft);
    display:none;
  }

  .shop-empty-state h3{
    font-size:18px;
    color:var(--heading);
    margin-bottom:8px;
  }

  .shop-pagination{
    margin-top:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
  }

  .shop-page-btn{
    min-width:42px;
    height:42px;
    padding:0 14px;
    border-radius:12px;
    border:1px solid var(--border);
    background:var(--surface);
    color:var(--text-soft);
    font-size:13px;
    font-weight:800;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:var(--transition);
  }

  .shop-page-btn:hover,
  .shop-page-btn.active{
    background:var(--btn-primary-bg);
    color:#fff;
    border-color:transparent;
    box-shadow:var(--btn-primary-shadow);
  }

  .shop-promo-strip{
    margin-top:18px;
    border:1px solid var(--border);
    border-radius:20px;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr;
    background:var(--surface);
  }

  .shop-promo-card{
    padding:18px 16px;
    border-bottom:1px solid var(--border);
  }

  .shop-promo-card:last-child{
    border-bottom:none;
  }

  .shop-promo-card h4{
    font-size:16px;
    font-weight:900;
    color:var(--heading);
    margin-bottom:8px;
  }

  .shop-promo-card p{
    font-size:13px;
    color:var(--text-soft);
    margin-bottom:12px;
  }

  .shop-promo-card a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--primary);
    font-size:13px;
    font-weight:800;
  }

  @media (min-width:768px){
    .shop-toolbar-top{
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
    }

    .shop-toolbar-actions{
      width:340px;
      flex-shrink:0;
    }

    .shop-product-grid{
      grid-template-columns:repeat(3, 1fr);
    }

    .shop-product-grid .product-card:nth-child(2n){
      border-right:1px solid var(--border);
    }

    .shop-product-grid .product-card:nth-child(3n){
      border-right:1px solid var(--border);
    }
  }

  @media (min-width:992px){
    .shop-page{
      padding:24px 0 42px;
    }

    .shop-hero{
      padding:20px 22px;
      margin-bottom:18px;
    }

    .shop-hero-title{
      font-size:28px;
    }

    .shop-hero-text{
      font-size:14px;
      max-width:760px;
    }

    .shop-layout{
      display:grid;
      grid-template-columns:300px minmax(0, 1fr);
      gap:18px;
      align-items:start;
    }

    .shop-sidebar{
      order:1;
      position:sticky;
      top:84px;
    }

    .shop-main{
      order:2;
    }

    .shop-product-grid{
      grid-template-columns:repeat(4, 1fr);
    }

    .shop-product-grid .product-card{
      min-height:324px;
    }

    .shop-promo-strip{
      grid-template-columns:repeat(3, 1fr);
    }

    .shop-promo-card{
      border-right:1px solid var(--border);
      border-bottom:none;
    }

    .shop-promo-card:last-child{
      border-right:none;
    }
  }

  @media (min-width:1181px){
    .shop-hero-title{
      font-size:30px;
    }

    .shop-product-grid{
      grid-template-columns:repeat(5, 1fr);
    }

    .shop-product-grid .product-card{
      min-height:330px;
    }
  }
