  :root {
      --main-color: #007bff;
      --gradient: #007bff;

      --light-bg: #fff;
      --dark-card: #fff;
      --dark-light: #2d2d2d;
  }

  body {
      font-family: 'Inter', sans-serif;
      background-color: var(--light-bg);
      color: #2d2d2d;
  }

  .filter-sidebar {
      background: var(--dark-card);
      border-radius: 12px;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
      padding: 25px;
      position: sticky;
      top: 20px;
      /* height: calc(100vh - 40px); */
      height: auto;
      /* overflow-y: auto; */
      transition: all 0.3s ease;
  }

  .filter-sidebar h3 {
      color: #000;
      font-weight: 600;
      font-size: 22px;
      margin-bottom: 25px;
      position: relative;
      padding-bottom: 10px;
      display: inline-block;
  }

  .filter-sidebar h3:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 50px;
      height: 3px;
      background: var(--gradient);
      border-radius: 10px;
  }

  .filter-group {
      margin-bottom: 0;
      position: relative;
      overflow: hidden;
  }

  .filter-group h5 {
      font-weight: 600;
      margin-bottom: 15px;
      color: #413f3ff5;
      display: flex;
      align-items: center;
      position: relative;
  }

  .filter-group h5 i {
      margin-right: 10px;
      color: var(--main-color);
      font-size: 1.1rem;
  }

  .filter-group h5::after {
      content: '';
      position: absolute;
      bottom: -5px;
      left: 0;
      width: 100%;
      height: 1px;
      background: var(--dark-light);
  }

  .custom-switch {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 12px;
      cursor: pointer;
      font-size: 0.95rem;
      color: #656565;
      transition: all 0.2s ease;
  }

  .custom-switch:hover {
      color: #000;
  }

  .switch {
      position: relative;
      display: inline-block;
      width: 40px;
      height: 20px;
  }

  .switch input {
      opacity: 0;
      width: 0;
      height: 0;
  }

  .slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #b9b9b9;
      transition: .4s;
      border-radius: 34px;
  }

  .slider:before {
      position: absolute;
      content: "";
      height: 16px;
      width: 16px;
      left: 2px;
      bottom: 2px;
      background-color: white;
      transition: .4s;
      border-radius: 50%;
  }

  input:checked+.slider {
      background: var(--gradient);
  }

  input:checked+.slider:before {
      transform: translateX(20px);
  }


  .mobile-filter-btn {
      display: none;
      position: fixed;
      bottom: 20px;
      right: 20px;
      z-index: 999;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background: var(--gradient);
      color: white;
      box-shadow: 0 5px 20px rgba(0, 123, 255, 0.4);
      border: none;
      font-size: 1.2rem;
  }

  .mobile-filter-tabs {
      display: none;
      background: var(--dark-card);
      box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3);
      margin-bottom: 20px;
      border-radius: 12px;
      overflow: hidden;
      position: sticky;
      top: 0;
      z-index: 10;
  }

  .mobile-filter-tabs .nav-link {
      color: #aaa;
      font-weight: 600;
      font-size: 12px;
      padding: 2px;
      text-align: center;
      border: none;
      background: var(--dark-card);
  }

  .mobile-filter-tabs .nav-link.active {
      background: var(--gradient);
      color: white;
  }

  .mobile-filter-tabs .nav-link i {
      display: block;
      font-size: 1.2rem;
      margin-bottom: 5px;
  }

  .header-section {
      padding: 50px 0;
      background: var(--light-bg);
      position: relative;
      overflow: hidden;
  }

  .header-section::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: var(--gradient);
      opacity: 0.7;
      top: 0;
      left: 0;
  }

  .header-content {
      position: relative;
      z-index: 1;
  }

  .header-title {
      font-weight: 800;
      color: white;
      margin-bottom: 15px;
      font-size: 2.5rem;
  }

  .header-subtitle {
      color: #fff;
      font-size: 1.1rem;
      max-width: 600px;
      margin: 0 auto 30px;
  }

  .search-bar {
      max-width: 500px;
      margin: 0 auto;
      position: relative;
  }

  .search-bar input {
      width: 100%;
      padding: 15px 20px;
      padding-left: 50px;
      border-radius: 30px;
      border: none;
      background: #fdf8f8;
      color: white;
      font-size: 1rem;
      outline: none;
      color: #2d2d2d;
  }

  .search-bar input::placeholder {
      color: #888;
  }

  .search-bar i {
      position: absolute;
      left: 20px;
      top: 50%;
      transform: translateY(-50%);
      color: #888;
      font-size: 1.2rem;
  }

  .filter-animation {
      transition: all 0.3s ease;
  }

  .filter-animation.collapsed {
      max-height: 0;
      opacity: 0;
      margin-top: 0;
      margin-bottom: 0;
      padding-top: 0;
      padding-bottom: 0;
      overflow: hidden;
  }

  .filter-animation.expanded {
      max-height: 500px;
      opacity: 1;
      margin-top: 10px;
      margin-bottom: 20px;
      overflow: hidden;
  }

  .filter-toggle {
      background: none;
      border: none;
      color: #000;
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 0;
      cursor: pointer;
  }

  .filter-toggle i {
      transition: transform 0.3s ease;
  }

  .filter-toggle.collapsed i {
      transform: rotate(-90deg);
  }

  @media (max-width: 991.98px) {
      .filter-sidebar {
          display: none;
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100vh;
          z-index: 1000;
          border-radius: 0;
          padding-top: 60px;
      }

      .filter-sidebar.show {
          display: block;
      }

      .mobile-filter-btn {
          display: flex;
          align-items: center;
          justify-content: center;
      }

      .mobile-filter-tabs {
          display: block;
      }

      .close-filter {
          position: absolute;
          top: 15px;
          right: 15px;
          font-size: 1.5rem;
          color: #aaa;
          background: none;
          border: none;
      }

      .product-grid {
          grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
      }

      .header-title {
          font-size: 2rem;
      }
  }

  /* sort css */
  .sort-dropdown {
      position: relative;
  }

  .sort-dropdown .dropdown-toggle {
      background: white;
      border: 1px solid #e2e8f0;
      border-radius: 30px;
      padding: 8px 20px;
      font-weight: 500;
      color: #555;
  }

  .sort-dropdown .dropdown-toggle:after {
      margin-left: 10px;
  }

  .sort-dropdown .dropdown-menu {
      border-radius: 15px;
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
      border: none;
      padding: 10px;
  }

  .sort-dropdown .dropdown-item {
      border-radius: 10px;
      padding: 8px 15px;
      margin-bottom: 5px;
  }

  .sort-dropdown .dropdown-item:hover {
      background-color: #f1f5f9;
  }

  .sort-dropdown .dropdown-item.active {
      background-color: var(--main-color);
  }

  /* Responsive for mobile product page */
  @media screen and (max-width:576px) {
      .header-title {
          font-size: 24px;
      }

      .header-subtitle {
          font-size: 14px;
      }

      .search-bar input {
          padding: 10px 20px;
          font-size: 0.875rem;
          padding-left: 50px;
      }
  }