.tth-resource-library{max-width:1380px;margin:0 auto;padding:34px 22px 78px;color:var(--tth-ink);background:transparent}.tth-resource-library *{box-sizing:border-box}
.tth-resource-library-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-bottom:18px;padding:34px;border:1px solid var(--tth-border);border-radius:var(--tth-radius-xl);background:linear-gradient(135deg,#fff 0%,#fff8fb 58%,#f7f4fc 100%);box-shadow:var(--tth-shadow-soft)}
.tth-resource-library-eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--tth-berry)}.tth-resource-library-hero h1{margin:0 0 8px;font-size:clamp(36px,4vw,52px);line-height:1.02;letter-spacing:-.025em}.tth-resource-library-hero p{max-width:760px;margin:0;color:var(--tth-muted);font-size:16px;line-height:1.55}
.tth-resource-library-balance{min-width:150px;padding:19px 18px;text-align:center;border:1px solid #eee3ef;border-radius:20px;background:rgba(255,255,255,.86)}.tth-resource-library-balance strong{display:block;font-size:34px;line-height:1;color:var(--tth-berry)}.tth-resource-library-balance span{display:block;margin:6px 0 9px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--tth-muted)}.tth-resource-library-balance a{font-weight:800;color:var(--tth-berry);text-decoration:none}
.tth-library-quick-browse{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.tth-library-quick-group{padding:18px 20px;border:1px solid var(--tth-border);border-radius:18px;background:#fff}.tth-library-quick-group strong{display:block;margin-bottom:10px;font-size:13px;color:var(--tth-ink)}.tth-library-chip-row{display:flex;flex-wrap:wrap;gap:8px}.tth-library-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid #e1d9e5;border-radius:999px;background:#fff;color:#5c5262;text-decoration:none;font-size:12px;font-weight:800}.tth-library-chip:hover{border-color:#c7bbce;background:var(--tth-lilac);color:var(--tth-purple-dark)}.tth-library-chip.is-highlight{border-color:#f1d9aa;background:var(--tth-gold);color:#75531e}.tth-library-chip.is-free{border-color:#d7eadb;background:var(--tth-mint);color:var(--tth-green)}
.tth-resource-library-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:18px;padding:20px;border:1px solid var(--tth-border);border-radius:20px;background:#fff;box-shadow:0 4px 16px rgba(54,42,70,.035)}.tth-library-search{grid-column:span 2}.tth-library-filter,.tth-library-search{display:flex;flex-direction:column;gap:6px}.tth-library-filter span,.tth-library-search span{font-size:11px;font-weight:800;color:#625967;text-transform:uppercase;letter-spacing:.04em}.tth-resource-library-filters input,.tth-resource-library-filters select{width:100%;min-height:46px;border:1px solid #ddd4e1;border-radius:12px;background:#fff;padding:9px 11px;color:var(--tth-ink)}.tth-resource-library-filters input:focus,.tth-resource-library-filters select:focus{outline:0;border-color:#9e91bd;box-shadow:0 0 0 3px rgba(98,87,168,.10)}.tth-library-filter-actions{display:flex;grid-column:span 2;align-items:center;gap:12px}.tth-library-filter-button,.tth-library-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;text-decoration:none;cursor:pointer}.tth-library-filter-actions a,.tth-resource-card-details{font-weight:800;color:var(--tth-berry);text-decoration:none}.tth-resource-library-summary{display:flex;align-items:center;gap:7px;margin:8px 0 15px;color:var(--tth-muted);font-size:13px}.tth-resource-library-summary strong{color:var(--tth-ink);font-size:15px}
.tth-resource-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.tth-resource-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--tth-border);border-radius:20px;background:#fff;box-shadow:var(--tth-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}.tth-resource-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(54,42,70,.10)}.tth-resource-card-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;overflow:hidden;background:#fff;border-bottom:1px solid #f0eaf2}.tth-resource-card-image img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.tth-resource-card-body{display:flex;flex:1;flex-direction:column;padding:17px}.tth-resource-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.tth-badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:#f1e7ef;color:#6f3e5f;font-size:10px;font-weight:900}.tth-badge-free{background:var(--tth-mint);color:var(--tth-green)}.tth-badge-owned{background:#eeebfb;color:#504293}.tth-badge-book{background:var(--tth-gold);color:#7a5720}.tth-resource-card h2{font-size:18px;line-height:1.25;margin:0 0 8px}.tth-resource-card h2 a{color:var(--tth-ink);text-decoration:none}.tth-resource-card h2 a:hover{color:var(--tth-berry)}.tth-resource-card-meta{margin-bottom:9px;color:#7b7180;font-size:11px;line-height:1.5}.tth-resource-card-excerpt{margin:0 0 15px;color:#6b626e;font-size:13px;line-height:1.5}.tth-resource-card-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.tth-resource-card-actions form{margin:0}.tth-resource-card-actions .tth-library-button{width:100%}.tth-resource-card-details{text-align:center;font-size:13px}.tth-resource-library-empty{padding:48px;text-align:center;border:1px dashed #d9cbd5;border-radius:20px;background:#fff}.tth-resource-library-pagination{display:flex;justify-content:center;gap:6px;margin-top:32px}.tth-resource-library-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:7px 11px;border:1px solid #ddd4e1;border-radius:11px;background:#fff;text-decoration:none}.tth-resource-library-pagination .current{background:var(--tth-berry);color:#fff;border-color:var(--tth-berry)}
@media(max-width:1220px){.tth-resource-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tth-resource-library-filters{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.tth-library-quick-browse{grid-template-columns:1fr}.tth-resource-library-filters{grid-template-columns:repeat(2,1fr)}.tth-library-search,.tth-library-filter-actions{grid-column:span 2}.tth-resource-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.tth-resource-library{padding:22px 14px 52px}.tth-resource-library-hero{grid-template-columns:1fr;padding:24px}.tth-resource-library-balance{width:100%}.tth-resource-library-filters{grid-template-columns:1fr}.tth-library-search,.tth-library-filter-actions{grid-column:auto}.tth-library-filter-actions{align-items:stretch;flex-direction:column}.tth-library-filter-actions>*{width:100%;text-align:center}.tth-resource-library-grid{grid-template-columns:1fr}}
/* v1.9.3 live filtering */
.tth-resource-library.tth-live-loading{position:relative;min-height:240px;opacity:.58;transition:opacity .15s ease}.tth-resource-library.tth-live-loading:after{content:'Finding resources…';position:fixed;left:50%;top:50%;z-index:9999;transform:translate(-50%,-50%);padding:12px 18px;border:1px solid #ddd4e1;border-radius:999px;background:#fff;box-shadow:0 8px 28px rgba(54,42,70,.14);font-weight:800;color:#6f3e5f;pointer-events:none}

/* v1.12.6 — Book Companions is a focused collection, not a Resource Library clone. */
.tth-book-companions-page .tth-book-companions-hero{background:linear-gradient(135deg,#fff 0%,#fff8fb 62%,#fff9e8 100%)}
.tth-book-companions-page .tth-book-companions-all-link{display:inline-flex;margin-top:14px;font-weight:800;color:var(--tth-berry);text-decoration:none}
.tth-book-companions-page .tth-book-companions-filters{grid-template-columns:minmax(0,2fr) minmax(150px,.7fr) minmax(170px,.8fr) minmax(220px,.9fr)}
.tth-book-companions-page .tth-book-companions-filters .tth-library-search{grid-column:auto}
.tth-book-companions-page .tth-book-companions-filters .tth-library-filter-actions{grid-column:auto;justify-content:flex-end}
@media(max-width:980px){
  .tth-book-companions-page .tth-book-companions-filters{grid-template-columns:1fr 1fr}
  .tth-book-companions-page .tth-book-companions-filters .tth-library-search{grid-column:1/-1}
  .tth-book-companions-page .tth-book-companions-filters .tth-library-filter-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:680px){
  .tth-book-companions-page .tth-book-companions-filters{grid-template-columns:1fr}
  .tth-book-companions-page .tth-book-companions-filters .tth-library-search,
  .tth-book-companions-page .tth-book-companions-filters .tth-library-filter-actions{grid-column:auto}
}

/* v1.14.0 — Book Companions is a focused teacher workflow, visually related
   to Resource Library without duplicating the full browse experience. */
.tth-book-companions-page{max-width:1240px}
.tth-book-companions-page .tth-book-companions-hero{grid-template-columns:minmax(0,1fr) minmax(180px,260px);background:linear-gradient(135deg,#fff8fb 0%,#fffdf5 55%,#f4f1ff 100%)!important}
.tth-book-companions-page .tth-book-companions-filters{display:grid!important;grid-template-columns:minmax(0,2.2fr) minmax(150px,.7fr) minmax(170px,.8fr) auto!important;gap:12px!important;padding:18px!important;background:#fff!important}
.tth-book-companions-page .tth-book-companions-filters .tth-library-filter-actions{grid-column:auto!important;align-items:center!important;justify-content:flex-end!important}
.tth-book-companions-page .tth-resource-library-summary{margin-top:2px}
@media(max-width:900px){
 .tth-book-companions-page .tth-book-companions-hero{grid-template-columns:1fr!important}
 .tth-book-companions-page .tth-book-companions-filters{grid-template-columns:1fr 1fr!important}
 .tth-book-companions-page .tth-book-companions-filters .tth-library-search{grid-column:1/-1!important}
 .tth-book-companions-page .tth-book-companions-filters .tth-library-filter-actions{grid-column:1/-1!important;justify-content:flex-start!important}
}
@media(max-width:620px){
 .tth-book-companions-page .tth-book-companions-filters{grid-template-columns:1fr!important;padding:14px!important}
 .tth-book-companions-page .tth-book-companions-filters .tth-library-search,
 .tth-book-companions-page .tth-book-companions-filters .tth-library-filter-actions{grid-column:auto!important}
 .tth-book-companions-page .tth-book-companions-filters .tth-library-filter-actions{display:grid!important;grid-template-columns:1fr!important}
 .tth-book-companions-page .tth-book-companions-filters .tth-library-filter-button{width:100%!important}
}


/* v1.17.30: defensive layout for the credits choice note when it appears on Resource Library.
   The shortcode also enqueues its native stylesheet, but these rules prevent theme CSS from
   collapsing the title/body/link into a run-on sentence on narrow screens. */
.tth-resource-library + .tth-credit-choice-note,
.tth-credit-choice-note{
  line-height:1.45;
}
.tth-credit-choice-note > div{
  min-width:0;
}
.tth-credit-choice-note strong,
.tth-credit-choice-note span,
.tth-credit-choice-note a{
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .tth-credit-choice-note{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .tth-credit-choice-note strong,
  .tth-credit-choice-note span{
    display:block;
  }
  .tth-credit-choice-note span{
    margin-top:4px;
  }
  .tth-credit-choice-note a{
    display:inline-block;
    white-space:normal;
  }
}


/* v1.17.44: wrapping Collection selector. Native select is the no-JS fallback. */
.tth-resource-library .tth-collection-field{position:relative;min-width:0}
.tth-resource-library .tth-collection-native[hidden]{display:none!important}
.tth-resource-library .tth-collection-control{position:relative;min-width:0;width:100%;font-size:16px}
.tth-resource-library .tth-collection-trigger{
 display:grid!important;grid-template-columns:minmax(0,1fr) 18px;gap:16px;align-items:center;
 width:100%;min-height:48px;height:auto!important;max-width:100%;margin:0!important;
 padding:12px 16px!important;border:1px solid #cbbfd6!important;border-radius:12px!important;
 color:#352f49!important;background:#fff!important;box-shadow:none!important;cursor:pointer;
 font-family:inherit!important;font-size:16px!important;font-weight:400!important;
 line-height:1.4!important;white-space:normal!important;text-align:start;text-transform:none!important;
}
.tth-resource-library .tth-collection-trigger .tth-collection-value{
 display:block;min-width:0;font:inherit!important;line-height:inherit!important;color:inherit!important;
 text-transform:none!important;letter-spacing:normal!important;white-space:normal!important;overflow-wrap:anywhere;
}
.tth-resource-library .tth-collection-trigger .tth-collection-arrow{
 display:block;width:9px;height:9px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);
 margin:-4px 0 0 3px;flex-shrink:0;
}
.tth-resource-library .tth-collection-trigger:focus-visible{outline:3px solid #8071c0!important;outline-offset:2px}
.tth-resource-library .tth-collection-options{
 position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:25;list-style:none!important;
 margin:0!important;padding:6px!important;border:1px solid #cbbfd6;border-radius:14px;
 background:#fff;box-shadow:0 12px 30px #30214024;max-height:320px;overflow-y:auto;overscroll-behavior:contain;
 min-width:100%;max-width:100%;box-sizing:border-box;
}
.tth-resource-library .tth-collection-options[hidden]{display:none!important}
.tth-resource-library .tth-collection-option{
 display:block!important;list-style:none!important;float:none!important;margin:0!important;
 padding:12px 32px 12px 12px!important;position:relative;color:#352f49;background:#fff;border-radius:8px;
 font:inherit!important;line-height:1.45!important;white-space:normal!important;overflow-wrap:anywhere;
 text-transform:none!important;letter-spacing:0!important;cursor:pointer;min-height:46px;
}
.tth-resource-library .tth-collection-option::before{content:none!important}
.tth-resource-library .tth-collection-option.is-active{background:#eee9ff!important;color:#463482!important;outline:1px solid #c6b8eb}
.tth-resource-library .tth-collection-option[aria-selected="true"]::after{content:'✓';position:absolute;right:12px;top:12px;font-weight:700}
.tth-resource-library .tth-collection-option[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.tth-resource-library .tth-collection-label{font-size:11px;font-weight:800;color:#625967;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:680px){.tth-resource-library .tth-collection-options{max-height:280px}}


/* v1.17.47 — make the credit/dollar-value anchor visible while browsing. */
.tth-resource-card-badges .tth-badge-credit-value{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  line-height:1.08;
  white-space:normal
}
.tth-resource-card-badges .tth-badge-credit-value small{
  font-size:9px;
  font-weight:750;
  opacity:.8;
  letter-spacing:0
}
