.section-title-block {
  display: grid;
  gap: 10px;
}

.section-eyebrow {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.section-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.05;
}

.section-description {
  margin: 0;
  max-width: 760px;
  color: var(--color-dark-soft);
  font-size: 1.02rem;
  line-height: 1.7;
}

.tag-chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  background: rgba(255, 107, 139, 0.12);
  font-size: 0.86rem;
  font-weight: 700;
}

.tag-chip-soft {
  background: rgba(108, 124, 255, 0.09);
  color: rgba(32, 41, 58, 0.82);
}

.icon-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(138, 156, 196, 0.16);
  box-shadow: var(--shadow-pill);
  font-weight: 700;
}

.icon-badge-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 209, 102, 0.35);
}

.template-card {
  overflow: hidden;
  border-radius: var(--radius-panel);
  background: var(--color-surface-strong);
}

.template-card-media {
  position: relative;
  min-height: 160px;
  background:
    radial-gradient(circle at top left, rgba(240, 98, 146, 0.24), transparent 38%),
    radial-gradient(circle at bottom right, rgba(108, 124, 255, 0.22), transparent 36%),
    linear-gradient(135deg, rgba(255, 251, 250, 0.98), rgba(248, 246, 255, 0.94));
}

.template-card-orb {
  position: absolute;
  inset: auto auto 18px 22px;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(240, 98, 146, 0.92), rgba(108, 124, 255, 0.88));
  box-shadow: var(--shadow-pill);
  opacity: 0.88;
}

.template-card-ring {
  position: absolute;
  inset: 20px 20px auto auto;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 12px solid rgba(255, 255, 255, 0.52);
  box-shadow: inset 0 0 0 1px rgba(108, 124, 255, 0.12);
}

.template-card-body {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.template-card-title,
.template-card-description {
  margin: 0;
}

.template-card-title {
  font-family: var(--font-display);
  font-size: 1.28rem;
}

.template-card-description {
  color: var(--color-dark-soft);
  line-height: 1.7;
}

.template-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.template-card-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: var(--radius-pill);
  background: var(--color-dark);
  color: #ffffff;
  text-decoration: none;
  font-weight: 800;
  box-shadow: var(--shadow-pill);
}

.template-card-link:hover {
  transform: translateY(-1px);
}
