
:root {
  --playmad-primary: hsl(354, 70%, 54%);
  --playmad-text-dark: hsl(220, 20%, 15%);
  --playmad-text-muted: hsl(220, 10%, 45%);
  --playmad-text: hsl(0, 0%, 100%);
  --playmad-shadow: 0 10px 30px -10px hsla(0, 0%, 0%, 0.1);
  --playmad-shadow-hover: 0 20px 40px -15px hsla(0, 0%, 0%, 0.2);
  --playmad-border-radius: 16px;
  --playmad-transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.playmad-contents-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacingMd);
  padding: 0;
  list-style: none;
}

.playmad-content-item {
  position: relative;
  overflow: hidden;
  box-shadow: var(--playmad-shadow);
  transition: transform var(--playmad-transition), box-shadow var(--playmad-transition);
  height: 100%;
}

.playmad-content-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.playmad-content-image {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: hsl(220, 12%, 95%);
  border: 1px solid var(--playmad-text);
}

.playmad-content-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.playmad-content-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.4), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.playmad-content-item:hover .playmad-content-image a::before {
  opacity: 1;
}

.playmad-content-image .c-icon {
  position: relative;
  align-items: center;
  justify-content: center;
  z-index: 5;
}


.playmad-content-image .c-icon::after {
  content: '';
  position: absolute;
  background: var(--colorBlack);
  z-index: -1;
  width: 25px;
  height: 25px;
  display: block;
  top: 25%;
  left: 25%;
}

.playmad-content-image .c-icon svg {
  color: var(--playmad-text);
  width: var(--size2xl);
  height: var(--size2xl);
}

.playmad-content-details {
  margin-top: var(--spacingSm);
}

.playmad-content-title {
  margin: 0;
  line-height: 26px;
  font-family: var(--fontFamilyBody);
  font-weight: var(--fontWeightSemibold);
  font-size: var(--fontSizeLead);
}

.playmad-content-title a {
  color: var(--playmad-text);
  text-decoration: none;
  transition: color 0.3s ease;
}

.playmad-content-title a:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
}

.playmad-content-title a:hover {
  text-decoration: underline;
}

@media (max-width: 1100px) {
  .playmad-contents-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .playmad-contents-list {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
