/* products.html — page-specific styles */

.filter-section { border-bottom: 1px solid rgba(191, 200, 200, 0.15); }
  .filter-section:last-child { border-bottom: none; }
  .filter-check { display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 6px 0; font-size: 13px; color: #404848; transition: color 0.15s; }
  .filter-check:hover { color: #003532; }
  .filter-check input[type="checkbox"] { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid #bfc8c8; accent-color: #003532; cursor: pointer; }
  .filter-check input[type="checkbox"]:checked { border-color: #003532; }
  .filter-check .count { margin-left: auto; font-size: 11px; color: #bfc8c8; font-weight: 600; }
  .range-slider { -webkit-appearance: none; appearance: none; width: 100%; height: 4px; border-radius: 2px; background: #e6e8ea; outline: none; }
  .range-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #003532; cursor: pointer; border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.15); }
  .range-slider::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #003532; cursor: pointer; border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.15); }
  .filter-tag { display: inline-flex; align-items: center; gap: 4px; background: #b5ede7; color: #003532; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 9999px; cursor: pointer; transition: all 0.15s; }
  .filter-tag:hover { background: #003532; color: #fff; }
  .sort-select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23404848'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 12px center; border: 1px solid rgba(191,200,200,0.4); border-radius: 10px; padding: 8px 32px 8px 14px; font-size: 13px; font-weight: 600; color: #003532; cursor: pointer; transition: border-color 0.2s; }
  .sort-select:focus { border-color: #003532; outline: none; }
  .mobile-filter-overlay { display: none; position: fixed; inset: 0; z-index: 70; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); }
  .mobile-filter-overlay.open { display: block; }
  .mobile-filter-drawer { position: fixed; top: 0; left: 0; bottom: 0; width: 320px; max-width: 85vw; z-index: 71; background: #fff; transform: translateX(-100%); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); overflow-y: auto; }
  .mobile-filter-overlay.open .mobile-filter-drawer { transform: translateX(0); }
  @keyframes shimmer { 0% { background-position: -400px 0; } 100% { background-position: 400px 0; } }
  .img-shimmer { background: linear-gradient(90deg, #f2f4f6 25%, #e6e8ea 50%, #f2f4f6 75%); background-size: 800px 100%; animation: shimmer 1.5s infinite; }
