/* LLC Core: course page + course search. Set --llc-accent in the theme's Custom CSS to match the brand. */
.llc-search, .llc-course {
	--llc-accent: var(--primary-color, #1f4e79);
	--llc-ink: #1d2733;
	--llc-muted: #5b6776;
	--llc-line: #dfe3e8;
	--llc-soft: #f4f6f8;
	color: var(--llc-ink);
}
.llc-search *, .llc-course * { box-sizing: border-box; }
.llc-button.button { background: var(--llc-accent); border-color: var(--llc-accent); color: #fff; }
.llc-search .button.hollow { background: transparent; color: var(--llc-accent); border: 1px solid var(--llc-accent); }

/* ---------- Search ---------- */
.llc-search__header { margin-bottom: 1.5rem; }
.llc-search__bar { display: flex; gap: .5rem; margin-bottom: 1rem; }
.llc-search__bar input[type="search"] { flex: 1; margin: 0; height: 3rem; padding: 0 1rem; border: 1px solid var(--llc-line); border-radius: 4px; }
.llc-search__bar .button { margin: 0; }

.llc-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.llc-chip { display: inline-block; padding: .4rem .9rem; border: 1px solid var(--llc-line); border-radius: 999px; color: var(--llc-ink); font-size: .9rem; text-decoration: none; background: #fff; }
.llc-chip:hover { border-color: var(--llc-accent); }
.llc-chip.is-active { background: var(--llc-accent); border-color: var(--llc-accent); color: #fff; }

.llc-filter-toggle { display: none; margin-bottom: 1rem; }
.llc-search__layout { display: grid; grid-template-columns: 17rem 1fr; gap: 2rem; align-items: start; }

.llc-filters { border: 1px solid var(--llc-line); border-radius: 6px; padding: 1rem 1.25rem; background: #fff; }
.llc-facet { border: 0; margin: 0 0 1.25rem; padding: 0; }
.llc-facet legend { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--llc-muted); margin-bottom: .5rem; padding: 0; }
.llc-option { display: flex; align-items: center; gap: .5rem; margin: 0; padding: .25rem 0; cursor: pointer; font-size: .95rem; line-height: 1.3; }
.llc-option input { margin: 0; flex: none; }
.llc-option__name { flex: 1; }
.llc-option__count { color: var(--llc-muted); font-size: .8rem; }
.llc-option.is-empty { opacity: .45; }
.llc-filters__actions { margin: 0; }
.llc-clear { font-size: .9rem; }

.llc-results__bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.llc-results__summary { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; }
.llc-applied { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.llc-applied a { display: inline-block; padding: .2rem .6rem; background: var(--llc-soft); border-radius: 999px; color: var(--llc-ink); font-size: .85rem; text-decoration: none; }
.llc-sort { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: .9rem; }
.llc-sort select { margin: 0; width: auto; min-width: 9rem; }

.llc-results__list { display: grid; gap: 1.25rem; }
.llc-card { display: grid; grid-template-columns: 15rem 1fr; border: 1px solid var(--llc-line); border-radius: 6px; overflow: hidden; background: #fff; }
.llc-card__image { display: block; background: var(--llc-soft); min-height: 10rem; }
.llc-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.llc-card__placeholder { display: block; width: 100%; height: 100%; min-height: 10rem; background: linear-gradient(135deg, var(--llc-soft), #e6eaef); }
.llc-card__body { padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: .5rem; }
.llc-card__title { margin: 0; font-size: 1.25rem; line-height: 1.25; }
.llc-card__title a { color: inherit; text-decoration: none; }
.llc-card__title a:hover { color: var(--llc-accent); }
.llc-card__summary { margin: 0; color: var(--llc-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.llc-card__foot { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.llc-card__meta { margin: 0; font-size: .9rem; color: var(--llc-muted); display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: baseline; }
.llc-card__fee { color: var(--llc-ink); }
.llc-card__foot .button { margin: 0; }

.llc-badges { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: 0; padding: 0; }
.llc-badges li { padding: .15rem .55rem; border-radius: 3px; background: var(--llc-soft); color: var(--llc-ink); font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.llc-badge--college { background: var(--llc-accent) !important; color: #fff !important; }

.llc-more { text-align: center; margin: 1.5rem 0 .5rem; }
.llc-more__count { margin: 0 0 .75rem; color: var(--llc-muted); font-size: .9rem; }
.llc-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem; margin-top: 1rem; }
.llc-pagination a { min-width: 2rem; padding: .25rem .5rem; text-align: center; border: 1px solid var(--llc-line); border-radius: 4px; text-decoration: none; color: var(--llc-ink); }
.llc-pagination a.is-current { background: var(--llc-accent); border-color: var(--llc-accent); color: #fff; }
.llc-empty { padding: 2rem; border: 1px dashed var(--llc-line); border-radius: 6px; text-align: center; }

@media (max-width: 63.99em) {
	.llc-search__layout { grid-template-columns: 1fr; }
	.llc-filter-toggle { display: inline-block; }
	.llc-filters { display: none; }
	.llc-filters.is-open { display: block; }
}
@media (max-width: 39.99em) {
	.llc-card { grid-template-columns: 1fr; }
	.llc-card__image { height: 11rem; }
}

/* ---------- Course page ---------- */
.llc-course__hero { padding: 2.5rem 0 1.5rem; background: var(--llc-soft); }
.llc-course__crumb { margin: 0 0 .75rem; font-size: .9rem; }
.llc-course__title { margin: .75rem 0 .25rem; }
.llc-course__subtitle { margin: 0; font-size: 1.15rem; color: var(--llc-muted); }
.llc-course__facts { border-bottom: 1px solid var(--llc-line); background: #fff; }
.llc-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1rem 1.5rem; margin: 0; padding: 1.25rem 0; }
.llc-facts__item dt { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--llc-muted); margin: 0 0 .15rem; }
.llc-facts__item dd { margin: 0; font-weight: 600; }
.llc-course__body { padding-top: 2rem; padding-bottom: 2rem; }
.llc-course__image { margin-bottom: 1.5rem; }
.llc-course__image img { width: 100%; height: auto; border-radius: 6px; }
.llc-course__section { margin-top: 2rem; }
.llc-course__section h2 { font-size: 1.4rem; margin-bottom: .5rem; }
.llc-box { border: 1px solid var(--llc-line); border-radius: 6px; padding: 1.25rem; margin-bottom: 1.25rem; background: #fff; }
.llc-box h2 { font-size: 1.2rem; margin: 0 0 .75rem; }
.llc-box ul { margin: 0; padding-left: 1.1rem; }
.llc-apply .button { margin: 0; width: 100%; }
.llc-link-download { font-size: .95rem; }
@media (min-width: 64em) { .llc-course__aside { position: sticky; top: 1.5rem; align-self: flex-start; } }

/* 1.6.0 course page */
.llc-features{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1.5rem}
.llc-features li{display:flex;flex-direction:column;font-size:.9rem}
.llc-features strong{text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}
.llc-course__banner img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}
.llc-course__tabs{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #ddd}
.llc-course__tabs ul{list-style:none;margin:0;padding:0;display:flex;gap:1.25rem;overflow-x:auto;white-space:nowrap}
.llc-course__tabs a{display:block;padding:.85rem 0;font-weight:600;text-decoration:none;border-bottom:3px solid transparent}
.llc-course__tabs a:hover,.llc-course__tabs a.is-active{border-bottom-color:var(--llc-accent)}
html{scroll-behavior:smooth}
.llc-course__section{scroll-margin-top:4rem}
.llc-price{font-size:1.4rem;font-weight:700}
.llc-share{background:none;border:0;padding:0;color:var(--llc-accent);text-decoration:underline;cursor:pointer}
.llc-downloads{margin:0;padding-left:1.1rem}
.llc-course__related{padding:2rem 0;background:#f6f6f6}
.llc-related{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.llc-related li{background:#fff;padding:1rem;display:flex;flex-direction:column}
.llc-stickybar{display:none}
@media (max-width:63.99em){
.llc-stickybar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.6rem 1rem;background:#fff;border-top:1px solid #ddd;text-align:center}
.llc-stickybar .button{margin:0;width:100%}
.llc-course{padding-bottom:4rem}
}

.llc-card__colleges{margin:.5rem 0 0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.llc-card__colleges a{text-decoration:none}
