/* PTS custom heading tweaks — aligns .pts-* headings with the Industrie demo using theme variables */

.pts-section-title {
  font-family: var(--rs-ff-title);
  font-size: var(--rs-fs-h2);
  font-weight: var(--rs-fw-ebold);
  color: var(--rs-title-primary);
  letter-spacing: 1px;
  text-transform: none;
  position: relative;
  display: inline-block;
  padding-bottom: 18px;
}

.pts-section-title::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 80px;
  height: 6px;
  background: linear-gradient(90deg, var(--rs-theme-yellow), var(--rs-theme-orange));
  border-radius: 6px;
}

.pts-section-subtitle {
  font-size: var(--rs-fs-p);
  color: var(--rs-text-primary);
  font-weight: var(--rs-fw-normal);
  margin-top: 12px;
  max-width: 600px;
}

.pts-company-name {
  font-family: var(--rs-ff-title);
  font-size: var(--rs-fs-b2);
  font-weight: var(--rs-fw-sbold);
  color: var(--rs-theme-yellow);
  letter-spacing: 3px;
  text-transform: uppercase;
}

.pts-category-title {
  font-family: var(--rs-ff-title);
  font-weight: var(--rs-fw-sbold);
  font-size: var(--rs-fs-h5);
  color: var(--rs-title-primary);
  margin-bottom: 10px;
}

.pts-category-label {
  font-size: var(--rs-fs-b1);
  color: var(--rs-theme-orange);
  font-weight: var(--rs-fw-sbold);
}

.pts-category-description {
  font-size: var(--rs-fs-p);
  color: var(--rs-text-primary);
  line-height: 1.6;
}

.pts-category-arrow {
  font-size: var(--rs-fs-h6);
}

@media (max-width: 768px) {
  .pts-section-title {
    font-size: var(--rs-fs-h3);
    padding-bottom: 12px;
  }
  .pts-section-title::after {
    width: 56px;
    height: 4px;
  }
}

@media (max-width: 576px) {
  .pts-section-title {
    font-size: var(--rs-fs-h4);
  }
}

/* Alignment: subtitle centered on small screens, left-aligned with title on larger screens */
.pts-section-header {
  text-align: center;
}

.pts-section-subtitle {
  margin: 12px auto 0;
}

@media (min-width: 768px) {
  .pts-section-header {
    text-align: left;
  }
  .pts-section-subtitle {
    margin: 12px 0 0 0;
    max-width: 680px;
  }
}
