.abc-relapse a {
  text-decoration: none !important;
  color: var(--abc-color-primary, #005bac);
  transition: color 0.2s ease;
}

.abc-relapse a:hover {
  color: var(--abc-color-primary-dark, #004182);
}

.abc-relapse p {
  margin-bottom: 1.6em;
  line-height: 1.8;
}

.abc-relapse h2 {
  font-size: clamp(20px, 2vw + 10px, 28px);
  line-height: 1.4;
  margin-top: 2.5em;
  margin-bottom: 0.8em;
  padding-bottom: 0.4em;
  border-bottom: 2px solid var(--abc-color-gold, #c5a059);
}

.abc-relapse h3 {
  font-size: clamp(16px, 1.5vw + 8px, 20px);
  line-height: 1.6;
}

.abc-relapse figure {
  margin: 0 0 1em;
}

.abc-relapse figure img {
  width: 100%;
  height: auto;
  display: block;
}

.abc-relapse__illust-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
  margin: 2em 0;
}

.abc-relapse__illust-grid figure {
  margin: 0;
}

.abc-relapse__feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 1.5em;
  margin: 2em 0;
}

.abc-relapse__feature-image {
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: var(--abc-shadow-soft, 0 10px 40px -10px rgba(0, 0, 0, 0.08));
}

.abc-relapse__feature-image img {
  width: 100%;
  height: auto;
  display: block;
}

.abc-relapse__section-image {
  margin: 2em 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: var(--abc-shadow-soft, 0 10px 40px -10px rgba(0, 0, 0, 0.08));
}

.abc-relapse__section-image img {
  width: 100%;
  height: auto;
  display: block;
}

.abc-relapse .rank-math-block {
  margin-bottom: 2em;
}

.abc-relapse .rank-math-list-item {
  margin-bottom: 0;
  border-bottom: 1px solid #e0e0e0;
}

.abc-relapse .rank-math-list-item:last-child {
  border-bottom: none;
}

.abc-relapse .rank-math-question {
  margin-bottom: 0;
  padding: 1em 0;
  padding-left: 1em;
  border-left: 3px solid var(--abc-color-primary, #005bac);
  cursor: default;
}

.abc-relapse .rank-math-answer {
  background: var(--abc-color-beige, #f9f8f4);
  padding: 1em 1.5em;
  margin-bottom: 0;
  border-radius: 0 0 4px 4px;
}

.abc-relapse .rank-math-answer p {
  margin-bottom: 0.8em;
  font-size: 0.95em;
}

.abc-relapse .rank-math-answer p:last-child {
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .abc-relapse__illust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .abc-relapse__illust-grid {
    grid-template-columns: 1fr;
  }

  .abc-relapse__section-image {
    margin: 1.5em 0;
  }
}
