/* ========================================
   COMMON STYLES FOR LEARN PAGES
   ======================================== */

.central-container {
  z-index: auto;
}

.line {
  margin: 4.6rem 0;
  border-radius: inherit;
  pointer-events: none;

  padding: 1px;
  background: linear-gradient(
    90deg,
    rgba(231, 231, 233, 0) 0%,
    rgba(231, 231, 233, 1) 47%,
    rgba(231, 231, 233, 0) 100%
  );

  -webkit-mask: linear-gradient(var(--color-white) 0 0) content-box, linear-gradient(var(--color-white) 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

/* Reset Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  border: none;
  outline: none;
  text-decoration: none;
  background: none;
}

main {
  gap: 0 !important;
  min-width: 0;
}

/* ========================================
   ARTICLE CARD STYLES
   ======================================== */

.article-card {
  position: relative;
  background: var(--color-gray-50);
  border-radius: var(--radius-secondary);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0.8rem;
  height: 100%;
}

.article-card-image {
  width: 100%;
  height: 0;
  padding-bottom: 70%;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-secondary);
}

.article-card-image a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  border-radius: var(--radius-secondary);
  transition: transform 0.3s ease;
  cursor: pointer;
}

.article-card-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease, filter 0.3s ease;
  cursor: pointer;
}

.article-card-image:hover a {
  transform: scale(1.02);
}

.article-card-image:hover img {
  transform: scale(1.05);
  filter: brightness(0.95);
}

.article-card-content {
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex: 1;
}

.article-card-tags,
.featured-card-tags {
  position: absolute;
  top: 1.8rem;
  left: 1.8rem;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  z-index: 2;
  width: calc(100% - 3.6rem);
  max-height: calc(100% - 3.6rem);
  overflow: hidden;
}

/* Common tag style - used by article-tag and featured-tag */
.article-tag,
.featured-tag {
  display: inline-block;
  padding: 0.7rem 1.2rem;
  background: color-mix(in srgb, var(--color-black) 20%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 2rem;
  font: var(--font-caption);
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Common card title style */
.article-card-title,
.featured-card-title {
  font: var(--font-heading-5);
  color: var(--color-blue-900);
  margin: 0;
  line-height: 1.3;
}

.article-card-title a,
.featured-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.article-card-title a:hover,
.featured-card-title a:hover {
  color: var(--color-blue-500);
}

/* Common card meta container */
.article-card-meta,
.featured-card-meta {
  display: flex;
  margin-top: auto;
  padding-top: 1rem;
}

/* Common meta item style */
.article-meta-item,
.featured-meta-item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font: var(--font-sm);
  color: var(--color-gray-700);
}

.article-meta-item:first-child,
.featured-meta-item:first-child {
  padding-right: 0.8rem;
}

.article-meta-item:not(:only-child):last-child,
.featured-meta-item:not(:only-child):last-child {
  padding-left: 0.8rem;
  border-left: 1px solid var(--color-gray-300);
}

.article-meta-item svg,
.featured-meta-item svg {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
  color: var(--color-gray-600);
}

/* ========================================
   FEATURED CARD STYLES (Similar to Article Card)
   ======================================== */

/* Featured card image uses common hover effects */
.featured-card-image a,
.article-card-image a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  border-radius: var(--radius-secondary);
  transition: transform 0.3s ease;
  cursor: pointer;
}

.featured-card-image img,
.article-card-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease, filter 0.3s ease;
  cursor: pointer;
}

.featured-card-image:hover a,
.article-card-image:hover a {
  transform: scale(1.02);
}

.featured-card-image:hover img,
.article-card-image:hover img {
  transform: scale(1.05);
  filter: brightness(0.95);
}

/* ========================================
   RESPONSIVE STYLES
   ======================================== */

/* Breakpoint: 991px */
@media all and (max-width: 991px) {
  .article-card-content {
    padding: 1.6rem;
    gap: 1rem;
    flex: 1;
  }

  .article-card-title {
    font-size: 1.6rem;
  }

  .article-card-image {
    padding-bottom: 60%;
  }

  /* Common tag responsive styles */
  .article-tag,
  .featured-tag {
    font-size: 1rem;
    padding: 0.5rem 1rem;
  }
}

/* Breakpoint: 870px */
@media all and (max-width: 870px) {
  .article-card-image {
    padding-bottom: 60%;
  }

  .article-card-content {
    padding: 2.4rem;
    gap: 0.8rem;
  }

  /* Common card meta responsive styles */
  .article-card-meta,
  .featured-card-meta {
    flex-direction: column;
    gap: 0.8rem;
    padding-top: 1rem;
  }

  .article-meta-item,
  .featured-meta-item {
    font: var(--font-sm);
    gap: 0.6rem;
  }

  .article-meta-item svg,
  .featured-meta-item svg {
    width: 1.4rem;
    height: 1.4rem;
  }

  .article-meta-item:first-child:not(:only-child),
  .featured-meta-item:first-child:not(:only-child) {
    padding-right: 0;
    border-right: none;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid var(--color-gray-300);
  }

  .article-meta-item:not(:only-child):last-child,
  .featured-meta-item:not(:only-child):last-child {
    padding-left: 0;
    border-left: none;
  }

  /* Common tag responsive styles */
  .article-tag,
  .featured-tag {
    font: var(--font-caption);
    padding: 0.7rem 1.2rem;
  }
}

/* Breakpoint: 767px */
@media all and (max-width: 767px) {
  .article-card {
    padding: 0.6rem;
  }

  .article-card-image {
    padding-bottom: 60%;
  }

  .article-card-content {
    padding: 1.6rem;
    gap: 0.8rem;
  }

  /* Common card tags responsive styles */
  .article-card-tags,
  .featured-card-tags {
    top: 1.2rem;
    left: 1.2rem;
    gap: 0.4rem;
  }

  /* Common tag responsive styles */
  .article-tag,
  .featured-tag {
    padding: 0.5rem 1rem;
  }

  /* Common card title responsive styles */
  .article-card-title,
  .featured-card-title {
    font: var(--font-mobile-heading-5);
  }

  /* Common card meta responsive styles */
  .article-card-meta,
  .featured-card-meta {
    flex-direction: column;
    gap: 0.8rem;
    padding-top: 1rem;
  }

  .article-meta-item:first-child:not(:only-child),
  .featured-meta-item:first-child:not(:only-child) {
    padding-right: 0;
    border-right: none;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--color-gray-300);
  }

  .article-meta-item:not(:only-child):last-child,
  .featured-meta-item:not(:only-child):last-child {
    padding-left: 0;
    padding-top: 0.4rem;
    border-left: none;
  }
}

/* Breakpoint: 480px */
@media all and (max-width: 480px) {
  .article-card {
    padding: 0.4rem;
  }

  .article-card-image {
    padding-bottom: 55%;
  }

  .article-card-content {
    padding: 1.2rem;
  }

  .article-card-tags {
    top: 1rem;
    left: 1rem;
  }
}

.wrapper .search-container {
  max-width: inherit;
  margin: 0;
}

.wrapper #searchInputBox:focus {
  border: 1px solid var(--color-gray-800);
}