 /* Font Overrides to match Sora and Nunito design system */
    body {
      font-family: 'Nunito', system-ui, -apple-system, sans-serif !important;
      background-color: var(--bg) !important;
      color: var(--ink) !important;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-family: 'Sora', sans-serif !important;
      color: var(--ink) !important;
    }

    /* Reset container padding logic to keep layout perfectly aligned with style.css */
    .container {
      width: 100%;
      max-width: var(--max-w) !important;
      margin: 0 auto !important;
      padding-left: 24px !important;
      padding-right: 24px !important;
    }

    @media (min-width: 768px) {
      .container {
        padding-left: 40px !important;
        padding-right: 40px !important;
      }
    }

    @media (min-width: 1200px) {
      .container {
        padding-left: 56px !important;
        padding-right: 56px !important;
      }
    }

    /* Hero Section styling with Premium Background Image and Overlay */
    .products-hero {
      background-image: url('../images/producthero.png') !important;
      background-size: cover !important;
      background-position: center !important;
      background-repeat: no-repeat !important;
      padding: 110px 0 !important;
      position: relative;
    }

    .hero-overlay{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6);
        z-index: 0;
    }

    .hero-title {
      color: rgb(255, 255, 255) !important;
      margin-bottom: 20px;
    }


    .hero-title strong {
  color: var(--blue) !important;
  display: block;
}



    /* Catalog Section Layout */
    .catalog-section {
      padding: 60px 0 80px;
      background-color: var(--bg);
    }

    /* Filter Sidebar (Desktop) - Scrollable & Sticky */
    .filter-sidebar {
      background-color: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 24px;
      position: sticky;
      top: calc(var(--header-h) + 24px);
      max-height: calc(100vh - var(--header-h) - 48px);
      overflow-y: auto;
    }

    /* Custom Webkit scrollbar for filter sidebar to look premium */
    .filter-sidebar::-webkit-scrollbar {
      width: 5px;
    }

    .filter-sidebar::-webkit-scrollbar-track {
      background: transparent;
    }

    .filter-sidebar::-webkit-scrollbar-thumb {
      background: var(--border);
      border-radius: 10px;
    }

    .filter-sidebar::-webkit-scrollbar-thumb:hover {
      background: var(--ink-3);
    }

    .filter-section-title {
      font-family: 'Sora', sans-serif;
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 20px;
      padding-bottom: 8px;
      border-bottom: 2px solid var(--blue);
    }

    .filter-group-title {
      font-family: 'Sora', sans-serif;
      font-size: 0.78rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--ink-2);
      margin-top: 24px;
      margin-bottom: 12px;
    }

    .filter-checkbox-label {
      font-size: 0.88rem;
      color: var(--ink-2);
      cursor: pointer;
      user-select: none;
      vertical-align: middle;
    }

    .form-check-input {
      border-color: var(--border-2) !important;
      background-color: var(--bg);
      cursor: pointer;
      width: 1.05em;
      height: 1.05em;
    }

    .form-check-input:checked {
      background-color: var(--blue-dark) !important;
      border-color: var(--blue-dark) !important;
    }

    .form-check-input:focus {
      border-color: var(--blue) !important;
      box-shadow: 0 0 0 4px oklch(75.5% 0.12 212deg / 0.15) !important;
    }

    /* Search Box */
    .search-box {
      position: relative;
      margin-bottom: 20px;
    }

    .search-box input {
      width: 100%;
      padding: 10px 16px 10px 42px;
      background: var(--bg);
      border: 1.5px solid var(--border);
      border-radius: var(--radius-sm);
      font-family: 'Nunito', sans-serif;
      font-size: 0.9rem;
      color: var(--ink);
      outline: none;
      transition: all 0.15s ease;
    }

    .search-box input:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 4px oklch(75.5% 0.12 212deg / 0.15);
    }

    .search-box svg {
      position: absolute;
      left: 14px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--ink-3);
      pointer-events: none;
      width: 16px;
      height: 16px;
    }

    /* Catalog Top Bar controls - Responsive Stacked Layout on Mobile */
    .catalog-topbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      background-color: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 14px 20px;
      margin-bottom: 30px;
      gap: 16px;
    }

    .catalog-results-count {
      font-size: 0.9rem;
      color: var(--ink-2);
      font-weight: 600;
    }

    .catalog-sort-select {
      font-family: 'Nunito', sans-serif;
      font-size: 0.88rem;
      color: var(--ink);
      background-color: var(--bg);
      border: 1.5px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 8px 32px 8px 12px;
      cursor: pointer;
      outline: none;
      appearance: none;
      -webkit-appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 10px center;
      background-size: 12px;
      transition: border-color 0.15s ease;
    }

    .catalog-sort-select:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 4px oklch(75.5% 0.12 212deg / 0.15);
    }

    /* Mobile Filter Button */
    .btn-mobile-filter {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background-color: var(--bg);
      border: 1.5px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 8px 16px;
      font-family: 'Sora', sans-serif;
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--ink);
      transition: all 0.15s ease;
    }

    .btn-mobile-filter:hover {
      background-color: var(--surface-2);
      border-color: var(--border-2);
    }

    @media (max-width: 575px) {
      .catalog-topbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 14px 16px;
      }

      .catalog-results-count {
        text-align: center;
        font-size: 0.82rem;
      }

      .catalog-topbar .d-flex {
        width: 100%;
        justify-content: space-between;
        gap: 10px !important;
      }

      .catalog-sort-select {
        flex-grow: 1;
        width: 100%;
        font-size: 0.82rem;
        padding: 8px 28px 8px 10px;
        background-position: right 8px center;
      }

      .btn-mobile-filter {
        flex-grow: 1;
        font-size: 0.82rem;
        padding: 8px 12px;
        height: 38px;
      }
    }

    /* CSS Grid Catalog - matches index.html cards layout but with 3 columns on large screens */
    .products-catalog-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }

    @media (max-width: 480px) {
      .products-catalog-grid {
      grid-template-columns: repeat(2, 1fr);
        gap: 16px;

        
      }


          .products-catalog-grid .product-inquire {

      gap: 7px !important;
      padding: 11px 16px !important;

      font-size: 0.62rem !important ;

    }

        .products-catalog-grid .product-inquire svg {
      width: 16px !important;
      height: 16px !important;
     
    }


    }

    @media (min-width: 768px) {
      .products-catalog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
      }
    }

    @media (min-width: 992px) {
      .products-catalog-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
      }
    }

    /* Product Card Overrides to prevent Bootstrap conflicts */
    .products-catalog-grid .product-card {
      background: var(--bg) !important;
      border: 1px solid var(--border) !important;
      border-radius: var(--radius-lg) !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      height: 100% !important;
      text-decoration: none !important;
      transition: box-shadow 0.2s cubic-bezier(0.22, 1, 0.36, 1), transform 0.2s cubic-bezier(0.22, 1, 0.36, 1) !important;
    }

    .products-catalog-grid .product-card:hover {
      box-shadow: var(--shadow-lg) !important;
      transform: translateY(-3px) !important;
    }

    .products-catalog-grid .product-body {
      padding: 16px !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 10px !important;
      flex: 1 !important;
    }

    /* WhatsApp Button Styles Reset & Lock to match index.html exactly */
    .products-catalog-grid .product-inquire {
      margin-top: auto !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 7px !important;
      padding: 11px 16px !important;
      border-radius: var(--radius-sm) !important;
      background: oklch(52% 0.18 148deg) !important;
      color: oklch(97% 0.01 148deg) !important;
      font-family: 'Sora', sans-serif !important;
      font-size: 0.822rem ;
      font-weight: 700 !important;
      text-decoration: none !important;
      transition: background 0.15s, transform 0.15s, box-shadow 0.15s !important;
      box-shadow: 0 2px 8px oklch(52% 0.18 148deg / 0.3) !important;
      border: none !important;
    }

    .products-catalog-grid .product-inquire:hover {
      background: oklch(44% 0.18 148deg) !important;
      color: oklch(97% 0.01 148deg) !important;
      transform: translateY(-1px) !important;
      box-shadow: 0 4px 14px oklch(52% 0.18 148deg / 0.4) !important;
      text-decoration: none !important;
    }

    .products-catalog-grid .product-inquire svg {
      width: 16px ;
      height: 16px ;
      fill: currentColor !important;
      flex-shrink: 0 !important;
    }

    /* Pagination design */
    .pagination-container {
      margin-top: 56px;
      display: flex;
      justify-content: center;
    }


    @media (max-width:768px) {
            .pagination-container {
      /* margin-top: 56px; */
      /* margin-left: 20px;
      margin-right: 20px; */
      margin: 30px !important;
      display: flex;
      justify-content: center;
    }


    .pagination-link {
      
      width: 34px !important;
      height: 34px !important;
      
      font-size: 0.7rem !important;
      
    }

        
    }

    .pagination-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      border-radius: var(--radius-sm);
      border: 1.5px solid var(--border);
      background-color: var(--bg);
      color: var(--ink-2);
      font-family: 'Sora', sans-serif;
      font-size: 0.9rem;
      font-weight: 700;
      margin: 0 4px;
      transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
      text-decoration: none;
    }

    .pagination-link:hover {
      border-color: var(--blue);
      background-color: var(--blue-tint);
      color: var(--blue-dark);
    }

    .pagination-link.active {
      border-color: var(--blue);
      background-color: var(--blue);
      color: oklch(16% 0.01 212deg);
    }

    .pagination-link.disabled {
      opacity: 0.45;
      pointer-events: none;
      background-color: var(--surface);
    }

    .pagination-link-text {
      width: auto;
      padding: 0 16px;
    }

    /* Offcanvas filters (Mobile) styling */
    .offcanvas-header {
      border-bottom: 1px solid var(--border);
      background-color: var(--surface);
      padding: 20px 24px;
    }

    .offcanvas-title {
      font-family: 'Sora', sans-serif;
      font-weight: 700;
      color: var(--ink);
    }

    .offcanvas-body {
      padding: 24px;
      background-color: var(--bg);
    }

    .btn-close:focus {
      box-shadow: 0 0 0 4px oklch(75.5% 0.12 212deg / 0.15) !important;
    }

    .mobile-filter-actions {
      position: sticky;
      bottom: 0;
      background: var(--bg);
      padding-top: 16px;
      border-top: 1px solid var(--border);
      margin-top: 24px;
      display: flex;
      gap: 12px;
    }

    /* Keep Cosmochem header/nav/footer consistent with index (Bootstrap resets) */
    /* .header ul,
    .mobile-nav ul,
    .nav-list,
    .footer ul {
      margin-bottom: 0 !important;
      padding-left: 0 !important;
    } */

    @media (max-width: 899px) {
      .catalog-section .container-fluid {
        max-width: 100%;
        overflow-x: clip;
      }
    }