/* Full Potential brand colors (confirmed from style guide) */
:root {
	--fplb-navy: #003366;
	--fplb-yellow: #ffc631;
	--fplb-sage-green: #5e8a61;
	--fplb-green: #196e2c;
	--fplb-slate-blue: #4e6f8c;
	--fplb-muted-yellow: #d8b13f;
	--fplb-charcoal: #343a40;
	--fplb-light-blue: #0094ff;
}

.fplb-wrap { max-width: 1100px; margin: 0 auto; padding: 0 20px 60px; }

/* ---------- Hero / search-first landing ---------- */
.fplb-hero {
	background-color: var(--fplb-navy);
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	padding: 56px 32px 40px;
	text-align: center;
	color: #fff;
	margin-top: 28px;
}
.fplb-hero-heading { font-family: 'Calibri', 'Carlito', sans-serif; font-weight: 700; font-size: 2.4rem; margin: 0 0 8px; }
.fplb-hero-subheading { font-size: 1.05rem; opacity: .92; margin: 0 0 28px; }

.fplb-searchbar {
	max-width: 640px;
	margin: 0 auto 20px;
	display: flex;
	background: #fff;
	border-radius: 999px;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(0,0,0,.18);
}
.fplb-searchbar input {
	flex: 1;
	border: none;
	padding: 16px 22px;
	font-size: 1.05rem;
	outline: none;
	color: var(--fplb-charcoal);
}
.fplb-searchbar button {
	border: none;
	background: var(--fplb-yellow);
	color: var(--fplb-navy);
	font-weight: 700;
	padding: 0 28px;
	cursor: pointer;
	transition: background .15s ease;
}
.fplb-searchbar button:hover { background: var(--fplb-muted-yellow); }

.fplb-chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 10px; }
.fplb-chip-label { color: #fff; opacity: .85; font-size: .9rem; align-self: center; margin-right: 4px; }
.fplb-chip {
	border: 1px solid rgba(255,255,255,.55);
	background: rgba(255,255,255,.08);
	color: #fff;
	border-radius: 999px;
	padding: 7px 16px;
	font-size: .88rem;
	cursor: pointer;
	transition: all .15s ease;
}
.fplb-chip:hover { background: rgba(255,255,255,.18); }
.fplb-chip.is-active { background: var(--fplb-yellow); border-color: var(--fplb-yellow); color: var(--fplb-navy); font-weight: 700; }

.fplb-hub-link {
	display: inline-block;
	margin-top: 18px;
	color: #fff;
	text-decoration: underline;
	font-size: .92rem;
	opacity: .9;
}
.fplb-hub-link:hover { opacity: 1; color: var(--fplb-yellow); }

/* ---------- Results toolbar ---------- */
.fplb-results-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 24px 0 14px;
}
.fplb-result-count { color: var(--fplb-charcoal); font-size: .92rem; }
.fplb-view-toggle { display: flex; gap: 6px; }
.fplb-view-btn {
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 8px;
	padding: 7px 14px;
	font-size: .85rem;
	cursor: pointer;
	color: var(--fplb-charcoal);
}
.fplb-view-btn.active { background: var(--fplb-navy); color: #fff; border-color: var(--fplb-navy); }

/* ---------- Results grid / list ---------- */
.fplb-results--tile { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.fplb-results--list { display: flex; flex-direction: column; gap: 10px; }
.fplb-results--list .fplb-card { display: flex; flex-direction: row; align-items: center; }
.fplb-results--list .fplb-card-media { width: 110px; height: 80px; flex-shrink: 0; }
.fplb-results--list .fplb-card-body { padding: 10px 16px; }
.fplb-results--list .fplb-card-excerpt { display: none; }

.fplb-loading { color: #888; text-align: center; padding: 30px 0; grid-column: 1 / -1; }
.fplb-empty { color: #888; text-align: center; padding: 30px 0; grid-column: 1 / -1; }
.fplb-loading-state { opacity: .5; }

.fplb-card {
	display: block;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .15s ease, transform .15s ease;
}
.fplb-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.1); transform: translateY(-2px); }
.fplb-card-media { width: 100%; height: 140px; overflow: hidden; background: var(--fplb-slate-blue); }
.fplb-card-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fplb-card-img--placeholder { background: linear-gradient(135deg, var(--fplb-slate-blue), var(--fplb-navy)); }
.fplb-card-body { padding: 14px 16px 16px; }
.fplb-card-title { margin: 0 0 8px; font-size: 1.05rem; color: var(--fplb-navy); }
.fplb-card-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.fplb-tag { background: #eef2f6; color: var(--fplb-charcoal); font-size: .72rem; padding: 3px 9px; border-radius: 999px; }
.fplb-tag--strand { background: #eaf3ea; color: var(--fplb-green); }
.fplb-card-excerpt { font-size: .85rem; color: #555; margin: 0 0 8px; }
.fplb-stars-readonly { color: var(--fplb-yellow); letter-spacing: 1px; }

/* ---------- Single lesson plan page ---------- */
.fplb-single-actions {
	background: #f7f8fa;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	padding: 18px 20px;
	margin: 28px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}
.fplb-rating-label { font-size: .9rem; color: var(--fplb-charcoal); margin-right: 8px; }
.fplb-stars-input { font-size: 1.4rem; }
.fplb-star-btn { border: none; background: none; cursor: pointer; color: #ccc; padding: 0 2px; }
.fplb-star-btn.is-selected, .fplb-star-btn:hover, .fplb-star-btn:hover ~ .fplb-star-btn { color: var(--fplb-yellow); }
.fplb-rating-summary { font-size: .82rem; color: #777; margin-left: 8px; }

.fplb-action-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.fplb-btn {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 8px;
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	border: none;
}
.fplb-btn--download { background: var(--fplb-green); color: #fff; }
.fplb-btn--download:hover { background: #14591f; color: #fff; }
.fplb-btn--copy { background: #fff; color: var(--fplb-navy); border: 1px solid var(--fplb-navy); }
.fplb-btn--copy:hover { background: var(--fplb-navy); color: #fff; }
.fplb-btn--disabled { background: #eee; color: #999; }

.fplb-feedback-heading h3 { margin-top: 30px; color: var(--fplb-navy); }
.fplb-comment-list { list-style: none; padding: 0; }
