/* Study Buddy Resource Hub */
:root { --sbr-teal:#1a7a7a; --sbr-teal-dark:#155f5f; --sbr-ink:#172033; --sbr-muted:#5c6470; --sbr-surface:#fff; --sbr-subtle:#f4f8f8; --sbr-border:#dce6e7; --sbr-radius:18px; }
.sbr-hub, .sbr-carousel, .sbr-related { color:var(--sbr-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.sbr-hub__header { max-width:720px; margin:0 0 2rem; }
.sbr-hub__header h1 { margin:0 0 .5rem; font-size:clamp(2rem,5vw,3.75rem); line-height:1.05; color:var(--sbr-ink); }
.sbr-hub__header p { color:var(--sbr-muted); font-size:1.125rem; line-height:1.55; }
.sbr-featured { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); overflow:hidden; margin:0 0 2.5rem; background:var(--sbr-ink); color:#fff; border-radius:var(--sbr-radius); }
.sbr-featured__content { padding:clamp(1.5rem,4vw,3.25rem); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.sbr-featured__content h2 { margin:.75rem 0; font-size:clamp(1.75rem,3vw,3rem); line-height:1.1; }
.sbr-featured__content h2 a { color:inherit; text-decoration:none; }
.sbr-featured__content p { margin:0 0 1.5rem; color:#e2eeee; line-height:1.6; }
.sbr-featured__image { min-height:320px; }
.sbr-featured__image img { width:100%; height:100%; display:block; object-fit:cover; }
.sbr-featured__footer { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; color:#d7e8e8; }
.sbr-eyebrow { font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; color:#f5c518; }
.sbr-button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:.7rem 1rem; border:0; border-radius:999px; background:var(--sbr-teal); color:#fff; font-weight:700; text-decoration:none; cursor:pointer; }
.sbr-button:hover, .sbr-button:focus { background:var(--sbr-teal-dark); color:#fff; }
.sbr-filter-form { display:grid; grid-template-columns:minmax(180px,1.6fr) repeat(3,minmax(120px,1fr)) auto auto; gap:.75rem; align-items:center; padding:1rem; margin:0 0 1.25rem; border:1px solid var(--sbr-border); border-radius:var(--sbr-radius); background:var(--sbr-surface); }
.sbr-filter-form input[type="search"], .sbr-filter-form select { width:100%; min-height:44px; padding:.65rem .75rem; border:1px solid #b9c9cb; border-radius:8px; background:#fff; color:var(--sbr-ink); }
.sbr-download-filter { font-size:.9rem; white-space:nowrap; }
.sbr-clear-filters { color:var(--sbr-teal-dark); font-size:.9rem; font-weight:700; white-space:nowrap; }
.sbr-results-summary { margin:0 0 1rem; color:var(--sbr-muted); }
.sbr-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.sbr-card { display:flex; flex-direction:column; min-width:0; height:100%; overflow:hidden; border:1px solid var(--sbr-border); border-radius:var(--sbr-radius); background:var(--sbr-surface); transition:transform .2s ease,box-shadow .2s ease; }
.sbr-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(23,32,51,.12); }
.sbr-card__image { position:relative; display:block; padding-top:56%; overflow:hidden; background:var(--sbr-subtle); }
.sbr-card__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sbr-card__body { display:flex; flex-direction:column; flex:1; padding:1.15rem; }
.sbr-card__badges { display:flex; gap:.5rem; flex-wrap:wrap; min-height:1.5rem; }
.sbr-chip { display:inline-flex; align-items:center; border-radius:999px; padding:.3rem .55rem; background:#e6f2f2; color:var(--sbr-teal-dark); font-size:.72rem; font-weight:800; line-height:1; text-transform:uppercase; letter-spacing:.04em; }
.sbr-chip--download { background:#fff2bf; color:#795c00; }
.sbr-card__title { margin:.8rem 0 .5rem; font-size:1.2rem; line-height:1.25; }
.sbr-card__title a { color:var(--sbr-ink); text-decoration:none; }
.sbr-card__title a:hover { color:var(--sbr-teal); text-decoration:underline; }
.sbr-card__summary { margin:0; color:var(--sbr-muted); line-height:1.5; }
.sbr-card__meta, .sbr-single-meta { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:auto; padding-top:1rem; color:var(--sbr-muted); font-size:.82rem; }
.sbr-load-more-wrap { text-align:center; margin:2rem 0 0; }
.sbr-hub--loading .sbr-resource-results { opacity:.55; pointer-events:none; }
.sbr-no-results,.sbr-error { grid-column:1/-1; padding:1.2rem; border-radius:10px; background:var(--sbr-subtle); color:var(--sbr-muted); }
.sbr-error { color:#9c2020; background:#fff1f1; }
.sbr-carousel { margin:2.5rem 0; }
.sbr-carousel__header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.sbr-carousel__header h2,.sbr-related h2 { margin:0; font-size:1.6rem; color:var(--sbr-ink); }
.sbr-carousel__controls { display:flex; gap:.5rem; }
.sbr-carousel__button { width:44px; height:44px; border:1px solid var(--sbr-border); border-radius:50%; background:#fff; color:var(--sbr-ink); font-size:1.2rem; cursor:pointer; }
.sbr-carousel__button:hover,.sbr-carousel__button:focus { border-color:var(--sbr-teal); color:var(--sbr-teal); }
.sbr-carousel__track { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; padding:.25rem .1rem .75rem; }
.sbr-carousel__item { flex:0 0 min(320px,82vw); scroll-snap-align:start; }
.sbr-related { margin:3rem 0; }
.sbr-related__section { margin:0 0 2.5rem; }
.sbr-related__section h2 { margin-bottom:1rem; }
.sbr-session-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; list-style:none; margin:0; padding:0; }
.sbr-session-list li { padding:1rem; border-left:4px solid var(--sbr-teal); background:var(--sbr-subtle); }
.sbr-session-list a { color:var(--sbr-ink); font-weight:700; text-decoration:none; }
.sbr-session-list a:hover { color:var(--sbr-teal); text-decoration:underline; }
@media (max-width:1024px) { .sbr-filter-form { grid-template-columns:repeat(3,minmax(0,1fr)); } .sbr-filter-form input[type="search"] { grid-column:1/-1; } .sbr-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .sbr-featured { grid-template-columns:1fr; } .sbr-featured__image { order:-1; min-height:220px; } .sbr-filter-form { grid-template-columns:1fr; } .sbr-filter-form input[type="search"] { grid-column:auto; } .sbr-card-grid,.sbr-session-list { grid-template-columns:1fr; } .sbr-carousel__header { align-items:flex-start; } }
