/* ==========================================================================
   Program public show
   ========================================================================== */

.program-public-hero{
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(280px, .75fr);
  gap:var(--space-5);
  align-items:center;
  padding:var(--space-6);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:
    radial-gradient(circle at top right, var(--tone-info-bg), transparent 42%),
    var(--surface);
}

.program-public-hero__title{
  margin:0;
  max-width:14ch;
  font-size:clamp(2rem, 5vw, 4rem);
  line-height:var(--line-tight);
  letter-spacing:-.04em;
}

.program-public-hero__desc{
  margin:var(--space-3) 0 0;
  max-width:68ch;
  color:var(--muted);
  font-size:var(--text-lg);
  line-height:1.65;
}

.program-public-hero__meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:var(--space-4);
}

.program-public-hero__meta span{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface-2);
  color:var(--muted);
  font-size:var(--text-sm);
  font-weight:700;
}

.program-public-hero__draft{
  margin-top:var(--space-4);
}

.program-public-card{
  display:grid;
  gap:var(--space-3);
  padding:var(--space-4);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow-md);
}

.program-public-card__label{
  color:var(--muted);
  font-size:var(--text-sm);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.program-public-card__title{
  font-size:var(--text-xl);
  line-height:var(--line-tight);
  font-weight:900;
}

.program-public-card__summary{
  color:var(--muted);
  line-height:1.55;
}

.program-public-card__actions{
  display:grid;
  gap:10px;
}

.program-public-card__actions form,
.program-public-card__actions .btn,
.program-public-card__actions button{
  width:100%;
}

.program-public-section{
  margin-top:var(--space-5);
}

.program-public-section__head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:var(--space-4);
  margin-bottom:var(--space-3);
}

.program-public-section__head h2{
  margin:0;
  font-size:var(--text-xl);
}

.program-public-section__head p{
  margin:0;
  color:var(--muted);
}

.program-module-list{
  display:grid;
  gap:var(--space-2);
}

.program-module{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:var(--space-3);
  padding:var(--space-3);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
}

.program-module__num{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--tone-info-bg);
  color:var(--tone-info-text);
  font-weight:900;
}

.program-module__body h3{
  margin:0;
  font-size:1rem;
}

.program-module__meta{
  margin-top:4px;
  color:var(--muted);
  font-size:var(--text-sm);
}

@media (max-width:860px){
  .program-public-hero{
    grid-template-columns:1fr;
    padding:var(--space-4);
  }

  .program-public-hero__title{
    max-width:none;
  }

  .program-public-section__head{
    display:block;
  }

  .program-public-section__head p{
    margin-top:var(--space-1);
  }

  .program-module{
    grid-template-columns:auto minmax(0, 1fr);
  }

  .program-module .btn{
    grid-column:1 / -1;
    width:100%;
  }
}

