/* The featured Student Handouts overview has its own scoped content layout. */
#o2c-announcements .sh-overview .sh-section { max-width: 760px; margin-bottom: 40px; }
#o2c-announcements .sh-overview .sh-section > h2 { display: flex; gap: 12px; align-items: baseline; }
#o2c-announcements .sh-number { flex: none; color: #297d77; font-size: 13px; font-weight: 700; letter-spacing: .03em; font-variant-numeric: tabular-nums; }
#o2c-announcements[data-page="detail"] .o2c-detail.sh-overview .o2c-deck { max-width: 680px; }
#o2c-announcements .sh-intro { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 28px; align-items: start; }
#o2c-announcements[data-page="detail"] .o2c-detail.sh-overview .o2c-detail-body .sh-intro .o2c-copy { font-size: 17px; }
#o2c-announcements .sh-example { display: block; padding: 14px; background: #eff6f2; border: 1px solid #dce7df; border-radius: 12px; text-decoration: none; color: #22695f; }
#o2c-announcements .sh-example img { display: block; width: 100%; height: auto; border: 1px solid #dce5df; background: #fff; border-radius: 2px; }
#o2c-announcements .sh-example span { display: flex; gap: 8px; align-items: center; justify-content: center; margin-top: 12px; font-size: 13px; font-weight: 700; }
#o2c-announcements .sh-example svg { width: 16px; height: 16px; }
#o2c-announcements .sh-use-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 24px; padding-top: 22px; border-top: 1px solid #dce7df; }
#o2c-announcements .sh-use-cases h3 { margin: 0 0 6px; color: #193e34; font-size: 15px; line-height: 1.4; }
#o2c-announcements .sh-use-cases p { margin: 0; color: #5a6d63; font-size: 14px; line-height: 1.6; }
#o2c-announcements .sh-collections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 700px; margin-top: 24px; }
#o2c-announcements .sh-collection-group { min-width: 0; padding-top: 14px; border-top: 3px solid #b9d5c7; }
#o2c-announcements .sh-collection-group h3 { margin: 0 0 6px; font-size: 18px; line-height: 1.35; color: #193e34; }
#o2c-announcements .sh-availability { margin: 0 0 12px; color: #52796d; font-size: 12px; font-weight: 600; line-height: 1.5; }
#o2c-announcements .sh-collection-list { list-style: none; margin: 0; padding: 0; }
#o2c-announcements .sh-collection-list > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 48px; box-sizing: border-box; margin: 0; padding: 10px 0; border-bottom: 1px solid #e1e9e4; color: #40534a; font-size: 14px; line-height: 1.5; }
#o2c-announcements .sh-collection-list small { white-space: nowrap; font-size: 12px; color: #68766f; font-variant-numeric: tabular-nums; }
#o2c-announcements .sh-note { max-width: 700px; margin: 16px 0 0; color: #68766f; font-size: 14px; line-height: 1.6; }
#o2c-announcements .sh-overview .sh-samples { max-width: 720px; }
#o2c-announcements .sh-overview .sh-viewer { margin-top: 20px; border: 1px solid #dce5df; border-radius: 12px; background: #fff; }
#o2c-announcements .sh-sample-context { margin: 0 0 12px; color: #52796d; font-size: 13px; line-height: 1.5; }
#o2c-announcements .sh-overview .sh-steps { margin: 20px 0 0; padding: 0; list-style: none; max-width: 680px; counter-reset: handout-steps; }
#o2c-announcements .sh-steps > li { counter-increment: handout-steps; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; margin: 0; padding: 14px 0; border-bottom: 1px solid #e1e9e4; }
#o2c-announcements .sh-steps > li::before { content: counter(handout-steps); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #eaf3ee; color: #22695f; font-size: 13px; font-weight: 700; }
#o2c-announcements .sh-steps strong { display: block; margin-bottom: 4px; color: #193e34; font-size: 16px; line-height: 1.4; }
#o2c-announcements .sh-steps p { margin: 0; color: #52665b; font-size: 15px; line-height: 1.6; }
#o2c-announcements .sh-history { max-width: 680px; margin-top: 32px; padding-top: 20px; border-top: 1px solid #dce5df; }
#o2c-announcements .sh-history h3 { margin: 0 0 10px; color: #193e34; font-size: 17px; }
#o2c-announcements .sh-history ul { margin: 0; padding-left: 18px; }
#o2c-announcements .sh-history li { margin: 8px 0; color: #68766f; font-size: 14px; line-height: 1.6; }
#o2c-announcements .sh-overview .sh-text-link,
#o2c-announcements .sh-history a { color: #22695f; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
#o2c-announcements .sh-overview a:focus-visible { outline: 2px solid #297d77; outline-offset: 4px; }
#o2c-announcements .sh-overview .cc-pdf-page:focus-visible { outline-offset: -4px; }
@media (max-width: 1050px) and (min-width: 801px) {
  #o2c-announcements .sh-intro { grid-template-columns: minmax(0, 1fr) 170px; gap: 20px; }
  #o2c-announcements .sh-use-cases { grid-template-columns: 1fr; gap: 16px; }
  #o2c-announcements .sh-collections { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  #o2c-announcements .sh-intro { grid-template-columns: 1fr; }
  #o2c-announcements .sh-example { width: min(100%, 230px); box-sizing: border-box; }
  #o2c-announcements .sh-use-cases, #o2c-announcements .sh-collections { grid-template-columns: 1fr; gap: 20px; }
  #o2c-announcements .sh-overview .sh-section { margin-bottom: 32px; }
}
