/* Cheer and Youth Athlete Recovery Cards. Classes prefixed rc-. */
.rc-controls { display: grid; gap: 20px; margin-bottom: 28px; }
.rc-fieldset { border: 3px solid var(--ink); background: var(--white); padding: 16px 18px 18px; margin: 0; min-width: 0; }
.rc-fieldset legend { font-weight: 800; padding: 0 8px; color: var(--ink); }
.rc-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.rc-choice { position: relative; display: inline-block; }
.rc-choice input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.rc-choice label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 3px solid var(--ink); background: var(--white); font-weight: 800; font-size: .92rem; color: var(--ink); cursor: pointer; }
.rc-choice label::before { content: ""; width: 16px; height: 16px; border: 3px solid var(--ink); border-radius: 50%; background: var(--white); flex: none; }
.rc-choice input:checked + label { background: var(--yellow); border-color: var(--red); }
.rc-choice input:checked + label::before { background: var(--red); box-shadow: inset 0 0 0 3px var(--yellow); }
.rc-choice input:focus-visible + label { outline: 3px solid var(--yellow); outline-offset: 2px; box-shadow: 0 0 0 6px var(--black); }
.rc-actions { margin-bottom: 0; }

.rc-cards { display: grid; gap: 28px; }
.rc-card { background: var(--white); border: 3px solid var(--ink); box-shadow: var(--shadow); margin: 0 6px 0 0; display: flex; flex-direction: column; min-width: 0; }
.rc-card[hidden] { display: none; }
.rc-head { background: var(--ink); color: var(--white); padding: 14px 20px 12px; }
.rc-head h3 { color: var(--white); margin: 6px 0 0; font-size: 1.35rem; }
.rc-tag { display: inline-block; background: var(--yellow); color: var(--black); font-weight: 800; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; padding: 3px 9px; }
.rc-fig { display: flex; justify-content: center; background: var(--surface); border-bottom: 3px solid var(--ink); padding: 8px; }
.rc-svg { width: 150px; height: 150px; flex: none; }
.rc-svg .b { fill: none; stroke: #141416; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.rc-svg .h { fill: #fff; stroke: #141416; stroke-width: 4; }
.rc-svg .p { fill: #F8EF06; stroke: #141416; stroke-width: 3; }
.rc-svg .d { fill: #D91606; stroke: #fff; stroke-width: 2; }
.rc-cols { display: grid; gap: 0; }
.rc-sec { padding: 14px 20px 6px; min-width: 0; }
.rc-sec h4 { margin: 0 0 6px; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red-dark); font-weight: 800; }
.rc-sec ol, .rc-sec ul { margin: 0 0 8px; padding-left: 1.3em; font-size: .93rem; line-height: 1.45; }
.rc-sec li { margin-bottom: 3px; }
.rc-hold { font-size: .82rem; font-weight: 700; margin: 0 0 6px; color: var(--muted); }
.rc-two { display: grid; gap: 10px; padding: 6px 20px 8px; }
.rc-box { margin: 0; background: #fff7d6; border-left: 6px solid var(--yellow); padding: 8px 12px; font-size: .9rem; line-height: 1.45; }
.rc-tell { background: #fdecea; border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); margin-top: 6px; padding-bottom: 8px; }
.rc-tell h4 { color: var(--red-dark); }
.rc-tell ul { list-style: none; padding-left: 0; }
.rc-tell li { padding-left: 1.6em; position: relative; }
.rc-tell li::before { content: "!"; position: absolute; left: 0; top: 0; width: 1.15em; height: 1.15em; background: var(--red); color: var(--white); font-weight: 900; font-size: .8em; text-align: center; line-height: 1.15em; }
.rc-spots { list-style: none; padding-left: 0 !important; display: flex; flex-wrap: wrap; gap: 6px; }
.rc-spots li { margin: 0; background: var(--white); border: 2px solid var(--ink); padding: 2px 9px; font-weight: 700; font-size: .84rem; }
.rc-spots li::before { content: "\25CF\00a0"; color: var(--red); }
.rc-note, .rc-rtp, .rc-src { margin: 0; padding: 4px 20px; font-size: .88rem; line-height: 1.45; }
.rc-rtp { font-weight: 700; }
.rc-src { font-size: .78rem; color: var(--muted); padding-bottom: 14px; margin-top: auto; }
.rc-print-key, .rc-print-foot { font-size: .8rem; }

.rc-split { display: grid; gap: 28px; align-items: start; }
.rc-photo { margin: 0; max-width: 300px; }
.rc-photo img { width: 100%; height: auto; border: 4px solid var(--ink); box-shadow: 10px 10px 0 var(--yellow); }
.rc-photo figcaption { margin-top: 14px; font-size: .88rem; font-weight: 700; color: var(--muted); }
.rc-steps { padding-left: 1.4em; display: grid; gap: 6px; }
.rc-table th, .rc-table td { font-size: .92rem; }
.rc-table td:last-child { white-space: normal; font-weight: 600; }
.rc-acc details summary { min-height: 44px; }

@media (min-width: 700px) {
  .rc-cols { grid-template-columns: 1fr 1fr; }
  .rc-two { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .rc-split { grid-template-columns: 1.4fr 300px; }
  .rc-split-rev { grid-template-columns: 300px 1.4fr; }
  .rc-cards { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
  .rc-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .rc-choice label { transition: none; } }

/* Print: four cards to a page, or one per page. Only the cards print. */
@media print {
  @page { size: letter; margin: .35in .35in .55in; }
  .tool-sources, .tool-disclaimer, .rc-controls, .tool-meta { display: none !important; }
  #tool .container { max-width: none; padding: 0; }
  .rc-cards { display: flex; flex-wrap: wrap; gap: 0; align-items: flex-start; }
  .rc-card { display: grid; grid-template-columns: 1fr 0.95in; align-content: start; box-shadow: none !important; border: 1.5px solid #000; margin: 0; width: 50%; height: 4.95in; overflow: hidden; break-inside: avoid; page-break-inside: avoid; font-size: 7pt; line-height: 1.25; }
  .rc-card > * { grid-column: 1 / -1; }
  .rc-card > .rc-fig { grid-column: 2; grid-row: 2; }
  .rc-card > .rc-cols { grid-column: 1; grid-row: 2; }
  .rc-head { padding: 4px 8px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rc-head h3 { font-size: 11pt; margin: 2px 0 0; }
  .rc-tag { font-size: 5.5pt; padding: 1px 5px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rc-fig { padding: 6px 2px 0; border: 0; background: none; align-items: flex-start; }
  .rc-svg { width: 0.9in; height: 0.9in; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rc-cols { display: grid; grid-template-columns: 1fr 1fr; }
  .rc-two { grid-template-columns: 1fr 1fr; }
  .rc-sec { padding: 3px 8px 0; }
  .rc-sec h4 { font-size: 6.5pt; margin: 0 0 2px; }
  .rc-sec ol, .rc-sec ul { font-size: 6.8pt; line-height: 1.2; margin: 0 0 2px; padding-left: 1.2em; }
  .rc-sec li { margin-bottom: 0; }
  .rc-hold { font-size: 6pt; margin: 0 0 2px; }
  .rc-two { display: grid; gap: 4px; padding: 2px 8px; }
  .rc-box { font-size: 6.5pt; padding: 2px 5px; background: #fff7d6 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rc-tell { background: #fff !important; margin-top: 2px; padding-bottom: 2px; }
  .rc-tell li { padding-left: 1.3em; }
  .rc-tell li::before { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rc-spots { gap: 3px; }
  .rc-spots li { font-size: 6.5pt; padding: 0 5px; border-width: 1px; }
  .rc-note, .rc-rtp, .rc-src { font-size: 6.5pt; padding: 1px 8px; }
  .rc-src { font-size: 5.5pt; padding-bottom: 3px; margin-top: 0; }
  .rc-cards.rc-one .rc-card { width: 100%; height: 9.6in; font-size: 10.5pt; break-after: page; page-break-after: always; }
  .rc-cards.rc-one .rc-head h3 { font-size: 18pt; }
  .rc-cards.rc-one .rc-head { padding: 8px 14px; }
  .rc-cards.rc-one .rc-tag { font-size: 8pt; }
  .rc-cards.rc-one .rc-card { grid-template-columns: 1fr 1.7in; }
  .rc-cards.rc-one .rc-svg { width: 1.6in; height: 1.6in; }
  .rc-cards.rc-one .rc-sec { padding: 8px 14px 0; }
  .rc-cards.rc-one .rc-sec h4 { font-size: 10pt; }
  .rc-cards.rc-one .rc-sec ol, .rc-cards.rc-one .rc-sec ul { font-size: 10.5pt; line-height: 1.3; }
  .rc-cards.rc-one .rc-hold, .rc-cards.rc-one .rc-note, .rc-cards.rc-one .rc-rtp, .rc-cards.rc-one .rc-box { font-size: 10pt; }
  .rc-cards.rc-one .rc-two { padding: 6px 14px; gap: 8px; }
  .rc-cards.rc-one .rc-spots li { font-size: 10pt; }
  .rc-cards.rc-one .rc-note, .rc-cards.rc-one .rc-rtp, .rc-cards.rc-one .rc-src { padding: 3px 14px; }
  .rc-cards.rc-one .rc-src { font-size: 8pt; }
  .rc-print-key { display: block; break-before: avoid; font-size: 6pt; padding: 4px 0 0; border-top: 1px solid #000; margin-top: 6px; clear: both; }
  .rc-print-key p { margin: 0; }
  .rc-print-foot { display: block; position: fixed; left: 0; right: 0; bottom: 0; text-align: center; font-size: 7pt; font-weight: 700; margin: 0; }
}
