/* Program detail pages: body grid (8 / 4), help card and session steps. */
.cc-prog-detail .cc-prog-detail__grid { box-sizing: border-box; max-width: 1200px; margin-inline: auto !important; padding-inline: 1.5rem; display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: start; }
@media (min-width: 1024px) { .cc-prog-detail .cc-prog-detail__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } .cc-prog-detail .cc-prog-detail__main { grid-column: span 8; } .cc-prog-detail .cc-prog-detail__side { grid-column: span 4; } }
.cc-prog-detail .cc-prog-detail__grid > *, .cc-prog-detail .cc-prog-detail__main > *, .cc-prog-detail .cc-prog-detail__side > * { margin: 0; }
.cc-prog-detail .cc-prog-detail__main h2 { margin: 0 0 .75rem; }
.cc-prog-detail .cc-prog-detail__main h2:not(:first-child) { margin-top: 2rem; }
.cc-prog-detail .cc-prog-detail__main p { margin-bottom: 0; line-height: 1.625; }
.cc-prog-detail .cc-prog-help { box-sizing: border-box; padding: 1.5rem; background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--line); border-top: 3px solid var(--wp--preset--color--gold-deep); }
.cc-prog-detail .cc-prog-help > * { margin: 0; }
.cc-prog-detail .cc-prog-help h3 { margin: 0 0 1rem; font-size: 1.75rem; font-weight: 400; }
.cc-prog-detail .cc-diamonds { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .75rem; }
.cc-prog-detail .cc-diamonds li { position: relative; padding-left: 1.5rem; }
.cc-prog-detail .cc-diamonds li::before { content: ""; position: absolute; left: .15rem; top: .7em; width: .5rem; height: .5rem; background: var(--wp--preset--color--gold); transform: rotate(45deg); }
.cc-prog-detail .cc-prog-help__btn, .cc-prog-detail .cc-prog-help__btn .wp-block-button, .cc-prog-detail .cc-prog-help__btn .wp-block-button__link { width: 100%; }
.cc-prog-detail .cc-steps { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 900px) { .cc-prog-detail .cc-steps { grid-template-columns: repeat(3, 1fr); } }
.cc-prog-detail .cc-step { box-sizing: border-box; margin: 0; padding: 1.5rem; background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--line); }
.cc-prog-detail .cc-step > * { margin: 0; }
.cc-prog-detail .cc-step__n { font: 500 2.25rem/1 var(--wp--preset--font-family--display); color: var(--wp--preset--color--gold-deep); margin-bottom: .5rem !important; }
.cc-prog-detail .cc-step h3 { font-size: 1.375rem; margin-bottom: .35rem; }
.cc-prog-detail .cc-step p { line-height: 1.625; }
