/* /gifts/ and /classroom/ — builds on pages.css (.tpc-*) and account.css tokens. */

.tpk ul.tpp-chips { list-style: none; padding: 0; margin: 12px 0 0; }

/* Gift idea cards */
.tpk-ideas { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin-top: 16px; }
.tpk-idea { display: flex; flex-direction: column; overflow: hidden; scroll-margin-top: 80px; }
.tpk-idea-thumb {
    aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; overflow: hidden;
    background: linear-gradient(180deg, #0a1428 0%, #22324f 55%, #c87a3e 85%, #3a2a25 100%);
    color: rgba(255, 255, 255, 0.4); font-size: 3rem;
}
.tpk-idea-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tpk-idea-body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.tpk-idea h3 { font-size: 1.05rem; font-weight: 600; margin-bottom: 8px; }
.tpk-idea h3 .bx, .tpk-kit h2 .bx { color: var(--tpa-accent); margin-right: 4px; }
.tpk-idea p { color: rgba(255, 255, 255, 0.78); font-size: 0.92rem; }
.tpk-meta { font-size: 0.82rem !important; color: rgba(255, 255, 255, 0.6) !important; }
.tpk-meta strong { color: rgba(255, 255, 255, 0.85); }
.tpk-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: auto; }
.tpk-actions > a:not(.btn) { font-size: 0.82rem; }

/* Lesson kits */
.tpk-kit { padding: 22px 24px; margin: 22px 0; scroll-margin-top: 80px; }
.tpk-kit-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 14px; }
.tpk-kit-head h2 { font-size: 1.3rem; font-weight: 700; margin: 0; flex: 1 1 320px; }
.tpk-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.tpk-tags span {
    font-size: 0.78rem; padding: 3px 10px; border-radius: 999px;
    background: rgba(255, 143, 31, 0.12); border: 1px solid rgba(255, 143, 31, 0.35); color: #ffd3a6;
}
.tpk-kit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 32px; }
@media (max-width: 860px) { .tpk-kit-grid { grid-template-columns: 1fr; } }
.tpk-kit h3 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.6); font-weight: 600; margin: 16px 0 8px; }
.tpk-kit p, .tpk-kit li { color: rgba(255, 255, 255, 0.82); font-size: 0.93rem; }
.tpk-kit ul, .tpk-kit ol { padding-left: 1.2rem; margin: 0; display: grid; gap: 6px; }
.tpk-kit ul.tpk-models { list-style: none; padding: 0; gap: 12px; }
.tpk-models li { display: grid; gap: 6px; }
.tpk-model-name { font-weight: 600; color: #fff; }
.tpk-print-only { display: none; }

/* Printer-friendly: black on white, no chrome or buttons, one kit per page. */
@media print {
    @page { margin: 16mm; }
    body.tpa-page { background: #fff !important; color: #000 !important; display: block !important; }
    .tpa-header, .tpp-footer, .tpp-crumbs, .tpk-noprint, .tpc-final { display: none !important; }
    .tpa-main { padding: 0 !important; max-width: none !important; }
    .tpk *, .tpk p, .tpk li, .tpk h1, .tpk h2, .tpk h3, .tpk-model-name, .tpc-sub, .tpp-hint { color: #000 !important; }
    .tpk a { color: #000 !important; text-decoration: none !important; }
    .tpa-card { background: #fff !important; border: 1px solid #999 !important; }
    .tpk-tags span { background: none !important; border-color: #666 !important; }
    .tpk-kit { break-before: page; break-inside: auto; padding: 0 !important; border: 0 !important; margin: 0 !important; }
    .tpk-kit h3, .tpc-section h2 { break-after: avoid; }
    .tpk-kit li { break-inside: avoid; }
    .tpk-kit-grid { grid-template-columns: 1fr !important; }
    .tpk-print-only { display: block; margin-top: 12px; font-size: 0.85rem; }
    .tpc-cards { grid-template-columns: 1fr 1fr !important; }
    /* "Print this kit": only the chosen kit. */
    body.tpk-print-one .tpk > *:not(.tpk-printing) { display: none !important; }
    body.tpk-print-one .tpk-kit.tpk-printing { break-before: auto; }
    html { background: #fff !important; color-scheme: light !important; }
    .tpk-toc + .tpk-kit { break-before: auto; margin-top: 24px !important; }
}
