/* ============================= */
/* ARTICLE PAGE */
/* ============================= */
/* ============================= */
/* ARTICLE HEADER */
/* ============================= */

.article-header {
  max-width: 760px;

  margin-bottom: 40px;
}

/* back button */

.article-back {
  display: inline-block;

  margin-bottom: 16px;

  font-size: 14px;

  color: var(--primary);

  text-decoration: none;

  font-weight: 500;

  transition: 0.2s;
}

.article-back:hover {
  transform: translateX(-3px);
}

/* main title */

.article-main-title {
  font-size: 42px;

  line-height: 1.2;

  margin-bottom: 16px;
}

/* meta */

.article-meta {
  display: flex;

  align-items: center;

  gap: 12px;

  font-size: 14px;

  color: #7b8a89;
}

.article-meta .dot {
  width: 4px;

  height: 4px;

  background: #ccc;

  border-radius: 50%;
}
.article-section {
  padding: 80px 0 60px;
  background: #f6f9f8;
}

/* layout */

.article-wrapper {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  align-items: start;
}

.article-content {
  max-width: 760px;
}

/* hero image */

.article-hero img {
  width: 100%;
  border-radius: 18px;
  margin-bottom: 30px;
}

/* typography */

.article-content p {
  font-size: 17px;
  line-height: 1.7;
  margin-bottom: 22px;
  color: #2c3e3c;
}

.article-title {
  font-size: 28px;
  margin: 40px 0 18px;
  display: flex;
  gap: 12px;
  align-items: center;
}

.article-price {
  font-size: 22px;
  font-weight: 600;
}

/* highlight */

.article-highlight {
  background: rgba(31, 95, 91, 0.08);

  padding: 20px;

  border-radius: 14px;

  margin: 30px 0;
}

/* features */

.article-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.feature {
  background: #fff;

  padding: 16px 18px;

  border-radius: 12px;

  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);

  font-size: 15px;
}

/* sidebar */

.article-sidebar {
  position: sticky;
  top: 120px;
}

.article-card-cta {
  background: #ffffff;

  padding: 28px;

  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;

  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}

.article-card-cta h3 {
  margin-bottom: 10px;
}

/* mobile */

@media (max-width: 1023px) {
  .article-wrapper {
    grid-template-columns: 1fr;
  }

  .article-sidebar {
    position: relative;
    top: auto;
  }
  .article-main-title {
    font-size: 34px;
  }
}

@media (max-width: 768px) {
  .article-title {
    font-size: 24px;
    margin: 30px 0 16px;
  }
  .article-main-title {
    font-size: 28px;
  }
  .article-section {
    padding: 40px 0 50px;
  }
}
