@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap');

* {
  box-sizing: border-box;
}

body {
  font-family: "Roboto", sans-serif;
  margin: 0;
  padding: 0;
  background-color: var(--background-color);
  color: var(--text-color);
  -ms-overflow-style: none;
  scrollbar-width: none;
  will-change: auto;
}

/* Desktop Background Styling */
@media (min-width: 769px) {
    [data-bg-desktop-hidden="false"] body {
        background-attachment: fixed;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
    }
    /* If bg-desktop-hidden is true, hide it for >= 769px */
    [data-bg-desktop-hidden="true"] body {
        background: var(--background-color);
        background-attachment: scroll;
    }
}

/* Mobile Background Styling */
@media (max-width: 768px) {
    [data-bg-mobile-hidden="false"] body {
        background-attachment: fixed;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
    }
    /* If bg-mobile-hidden is true, hide it for <= 768px */
    [data-bg-mobile-hidden="true"] body {
        background: var(--background-color);
        background-attachment: scroll;
    }
}

body::-webkit-scrollbar {
  display: none;
}

.container {
  max-width: 90%;
  margin: 0 auto;
  padding: 2vh 2vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}

header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2vh;
  width: 100%;
}

/* removed header-top logo section (moved to _logo.css) */
/* removed logo-wrapper section (moved to _logo.css) */
/* removed logo-shadow section (moved to _logo.css) */
/* removed logo section (moved to _logo.css) */
/* removed logo animation section (moved to _logo.css) */

/* removed category-header-wrapper section (moved to _category-header.css) */
/* removed search-container section (moved to _category-header.css) */
/* removed media-item section (moved to _media-cards.css) */
/* removed quick-links section (moved to _quick-links.css) */
/* removed badges section (moved to _media-cards.css) */
/* removed category-display section (moved to _category-header.css) */
/* removed top-category-header section (moved to _category-header.css) */
/* removed sort-rating-ball section (moved to _category-header.css) */

h1 {
  color: var(--primary-color);
  margin: 0;
  display: none;
}

@media (max-width: 768px) {
  .search-container {
    padding: 0 2vw;
    width: 96vw;
  }

  .container {
    margin-left: 0;
    padding: 2vh 2vw;
  }
}

@media (max-width: 480px) {
  .media-grid {
    grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
    gap: 2vw;
  }
}

/* light theme color overrides for search */
[data-theme^="light"] #searchButton,
[data-theme^="light"] .sidebar-toggle {
  color: #000 !important;
}

[data-theme^="light"] #searchButton:hover,
[data-theme^="light"] #searchButton:focus,
[data-theme^="light"] #searchButton:active {
  color: #ffffff !important;
}

[data-theme^="light"] .category-display {
  color: #000 !important;
}

.save-checkmark {
    position: fixed;
    width: 90px; /* Increased size */
    height: 90px; /* Increased size */
    border-radius: 50%;
    background-color: var(--primary-color); /* Use theme primary color */
    color: var(--text-color); /* Adapt text color to theme */
    font-size: 48px; /* Larger checkmark */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 60000;
    pointer-events: none;
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.2s ease-out, transform 0.2s ease-out;
    box-shadow: 0 0 20px rgba(var(--primary-color-rgb), 0.6); /* Themed glow */
}

.save-checkmark.visible {
    opacity: 1;
    transform: scale(1);
    animation: snap-pop 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

/* New snappy pop animation */
@keyframes snap-pop {
    0% { opacity: 0; transform: scale(0.5); }
    50% { opacity: 1; transform: scale(1.15); }
    80% { opacity: 1; transform: scale(0.98); }
    100% { opacity: 0; transform: scale(0.6); }
}