/* Font Awesome Override for Performance */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src:
    url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.woff2)
      format("woff2"),
    url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.ttf)
      format("truetype");
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.woff2)
      format("woff2"),
    url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.ttf)
      format("truetype");
}



.error-message {
  color: var(--danger);
  padding: 20px;
  text-align: center;
  font-weight: 500;
}

/* Utilities */
.hidden {
  display: none !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}



.fa-solid,
.icon-svg {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -0.125em;
  fill: currentColor;
  /* Prevent layout shift before font loads */
  min-width: 1em;
  min-height: 1em;
}

/* Ensure all font-awesome icons have reserved space */

/* Ensure all font-awesome icons have reserved space */
.fa-solid,
.fa-brands,
.fa-regular {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -0.125em;
  text-align: center;
}

/* Friday Meme CLS Fix */
#meme-container {
  min-height: 300px; /* Reserve space to prevent layout shift */
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}

.meme-img {
  max-width: 100%;
  max-height: 400px; /* Prevent excessive vertical growth */
  width: auto;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  object-fit: contain;
}
