/* Extracted block 1 from index.html */
    .page-heading {
      text-align: center;
      font-family: 'Nunito', Arial, sans-serif;
      font-size: 24px;
      margin: 14px 10px 4px;
    }
    /* Gallery and meme-specific styles */
    .gallery {
      column-count: 4;
      column-gap: 10px;
      padding: 10px;
    }
    /* Force one column on mobile devices */
    @media (max-width: 768px) {
      .gallery {
        column-count: 1;
      }
    }
    .meme {
      display: inline-block;
      width: 100%;
      margin-bottom: 10px;
      break-inside: avoid;
      position: relative;
      background-color: #eee;
      min-height: 150px;
      border: 2px solid #000;
      overflow: hidden;
    }
    .meme a {
      display: block;
      text-decoration: none;
      color: inherit;
    }
    .meme img,
    .meme video {
      display: block;
      max-width: 100%;
      height: auto;
      object-fit: contain;
      transition: opacity 0.5s ease-in;
      opacity: 0;
    }
    .meme img.loaded,
    .meme video.loaded {
      opacity: 1;
    }
    #loader {
      text-align: center;
      padding: 20px;
    }

/* Extracted block 2 from index.html */
    .sort-container {
      margin-bottom: 0px;
      font-family: 'Nunito', sans-serif;
      padding: 0 15px;
      margin-bottom: -10px;
    }
    .sort-dropdown {
      position: relative;
      width: fit-content;
      user-select: none;
    }
    .sort-header {
      display: flex;
      align-items: center;
      color: #2c3e50;
      padding: 10px 0;
      cursor: pointer;
      font-weight: bold;
      transition: color 0.3s;
    }
    .sort-header:hover {
      color: #3498db;
    }
    .sort-header i {
      margin-right: 8px;
    }
    .sort-header i.fa-chevron-down {
      margin-left: 10px;
      margin-right: 0;
      transition: transform 0.3s;
    }
    .sort-header.active i.fa-chevron-down {
      transform: rotate(180deg);
    }
    .sort-options {
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      background-color: white;
      border-radius: 6px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      display: none;
      z-index: 100;
      overflow: hidden;
    }
    .sort-options.show {
      display: block;
    }
    .sort-option {
      padding: 10px 15px;
      cursor: pointer;
      transition: background-color 0.2s;
    }
    .sort-option:hover {
      background-color: #f5f5f5;
    }
    .sort-option.active {
      background-color: #3498db;
      color: white;
    }
    /* Mobile Styles */
    @media (max-width: 768px) {
      .sort-header {
        padding: 8px 0;
        font-size: 14px;
      }
      .sort-header i {
        font-size: 12px;
        margin-right: 6px;
      }
      .sort-header i.fa-chevron-down {
        margin-left: 6px;
      }
      .sort-option {
        padding: 8px 12px;
        font-size: 14px;
      }
    }

