.u-full-width {
  width: 100%;
}

.u-stack-12,
.u-stack-18 {
  display: flex;
  flex-direction: column;
}

.u-stack-12 {
  gap: 12px;
}

.u-stack-18 {
  gap: 18px;
}

.content-loading-page {
  min-height: 100vh;
}

.content-loading-section {
  padding: 40px 0 80px;
}

.content-loading-stack {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.content-loading-card,
.content-loading-chip {
  position: relative;
  overflow: hidden;
  border: 1px solid #efe5d8;
  background: #fffaf4;
}

.content-loading-card::after,
.content-loading-chip::after,
.content-loading-line::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), transparent);
  animation: content-loading-shimmer 1.6s ease-in-out infinite;
}

.content-loading-card {
  min-height: 168px;
  border-radius: 30px;
  box-shadow: none;
}

.content-loading-card-hero {
  min-height: 240px;
  padding: 28px;
}

.content-loading-line {
  position: relative;
  overflow: hidden;
  height: 18px;
  border-radius: 999px;
  background: #f2eadf;
}

.content-loading-line + .content-loading-line {
  margin-top: 14px;
}

.content-loading-line-short {
  width: 160px;
}

.content-loading-line-title {
  width: min(540px, 92%);
  height: 44px;
}

.content-loading-line-medium {
  width: min(420px, 78%);
}

.content-loading-line-long {
  width: min(680px, 100%);
}

.content-loading-header {
  backdrop-filter: blur(8px);
}

.content-loading-chip {
  min-height: 18px;
  border-radius: 999px;
}

.content-loading-chip-back {
  width: 120px;
  height: 18px;
}

.content-loading-chip-logo {
  width: 168px;
  height: 22px;
}

.content-loading-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.content-loading-chip-nav {
  width: 92px;
  height: 18px;
}

@keyframes content-loading-shimmer {
  to {
    transform: translateX(100%);
  }
}

@media (max-width: 720px) {
  .content-loading-section {
    padding: 28px 0 52px;
  }

  .content-loading-card {
    min-height: 128px;
    border-radius: 24px;
  }

  .content-loading-card-hero {
    min-height: 188px;
    padding: 22px;
  }

  .content-loading-line-title {
    height: 34px;
    width: 100%;
  }

  .content-loading-line-medium,
  .content-loading-line-long {
    width: 100%;
  }

  .content-loading-nav {
    display: none;
  }
}
