/* LPI Design — visual refresh for Kadence. Everything is scoped under body.lpi-d
   so the layer can be toggled without side effects. */

/* ---------------------------------------------------------------- tokens */
body.lpi-d {
	--ink: #1c2a24;
	--ink-2: #3f4d46;
	--muted: #6a756e;
	--paper: #f6f2e9;
	--paper-2: #efe8d9;
	--card: #fffdf8;
	--line: #e3dccb;
	--line-2: #d3cab5;
	--chalk: #1f5a46;
	--chalk-d: #153f31;
	--chalk-tint: #e4eee8;
	--pencil: #f2b53a;
	--pencil-tint: #fdf1d4;
	--redpen: #b9412c;
	--radius: 14px;
	--radius-s: 9px;
	--shadow: 0 1px 0 rgba(60, 45, 20, .04), 0 6px 18px -10px rgba(60, 45, 20, .18);
	--font-body: "Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-head: "Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* subject colours */
	--s-math: #2c64a8;
	--s-ela: #8a3d9e;
	--s-science: #27804a;
	--s-social: #bf5f17;
	--s-art: #c43b72;
	--s-health: #b9412c;
	--s-drama: #5f47b0;
	--s-gym: #0b7f80;
	--s-history: #85642a;
	--s-french: #2a55a0;
	--s-other: #4b5a53;

	/* feed Kadence's own palette so theme-drawn bits follow along */
	--global-palette1: var(--chalk);
	--global-palette2: var(--chalk-d);
	--global-palette3: var(--ink);
	--global-palette4: var(--ink-2);
	--global-palette5: #56635c;
	--global-palette6: var(--muted);
	--global-palette7: var(--paper-2);
	--global-palette8: var(--paper);
	--global-palette9: var(--card);
	--global-palette9rgb: 255, 253, 248;
	--global-body-font-family: var(--font-body);
	--global-heading-font-family: var(--font-head);

	background: var(--paper);
	color: var(--ink-2);
	font-family: var(--font-body);
	font-size: 17.5px;
	-webkit-font-smoothing: antialiased;
}
.lpi-d .lpi-s-math    { --s: var(--s-math); }
.lpi-d .lpi-s-ela     { --s: var(--s-ela); }
.lpi-d .lpi-s-science { --s: var(--s-science); }
.lpi-d .lpi-s-social  { --s: var(--s-social); }
.lpi-d .lpi-s-art     { --s: var(--s-art); }
.lpi-d .lpi-s-health  { --s: var(--s-health); }
.lpi-d .lpi-s-drama   { --s: var(--s-drama); }
.lpi-d .lpi-s-gym     { --s: var(--s-gym); }
.lpi-d .lpi-s-history { --s: var(--s-history); }
.lpi-d .lpi-s-french  { --s: var(--s-french); }
.lpi-d .lpi-s-other   { --s: var(--s-other); }

.lpi-d h1, .lpi-d h2, .lpi-d h3, .lpi-d h4,
.lpi-d .entry-title, .lpi-d .site-title {
	font-family: var(--font-head);
	color: var(--ink);
	letter-spacing: -0.015em;
}
.lpi-d a { color: var(--chalk); text-underline-offset: .18em; text-decoration-thickness: 1px; }
.lpi-d a:hover { color: var(--chalk-d); }
.lpi-d ::selection { background: var(--pencil-tint); color: var(--ink); }
.lpi-d :focus-visible { outline: 2px solid var(--pencil); outline-offset: 2px; }

/* hide the public view counter (still counts) */
.lpi-d .post-views { display: none !important; }

/* ---------------------------------------------------------------- header */
.lpi-d #masthead { background: var(--card); border-bottom: 1px solid var(--line); }
.lpi-d .site-main-header-wrap .site-header-row-container-inner { background: transparent; }
.lpi-d .site-branding .brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.lpi-d .site-branding .brand::before {
	content: "";
	flex: none;
	width: 34px; height: 34px;
	border-radius: 9px;
	background:
		linear-gradient(var(--pencil), var(--pencil)) 8px 10px / 18px 3px no-repeat,
		linear-gradient(rgba(255,255,255,.75), rgba(255,255,255,.75)) 8px 16px / 14px 2px no-repeat,
		linear-gradient(rgba(255,255,255,.75), rgba(255,255,255,.75)) 8px 21px / 16px 2px no-repeat,
		var(--chalk);
	box-shadow: inset 0 -3px 0 rgba(0,0,0,.18);
}
.lpi-d .site-title { font-size: 24px !important; font-weight: 600; letter-spacing: -0.02em; color: var(--ink) !important; }

.lpi-d .main-navigation .primary-menu-container > ul > li.menu-item > a {
	font-weight: 600;
	font-size: 15.5px;
	color: var(--ink-2);
	padding-left: .85em; padding-right: .85em;
}
.lpi-d .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.lpi-d .main-navigation .primary-menu-container > ul > li.current-menu-item > a { color: var(--chalk); }
.lpi-d .main-navigation .primary-menu-container > ul > li.current-menu-item > a {
	text-decoration: underline; text-decoration-color: var(--pencil); text-decoration-thickness: 3px; text-underline-offset: .5em;
}
/* the planner gets a button treatment */
.lpi-d #primary-menu > li.menu-item-488 > a {
	background: var(--chalk-tint);
	border-radius: 999px;
	color: var(--chalk) !important;
	padding: .45em 1em !important;
	margin-right: .5em;
}
.lpi-d #primary-menu > li.menu-item-488 > a:hover { background: var(--chalk); color: #fff !important; }
.lpi-d .header-navigation .header-menu-container ul ul.sub-menu {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 12px;
	box-shadow: 0 14px 30px -12px rgba(40, 30, 10, .25);
	padding: 6px;
}
.lpi-d .header-navigation .header-menu-container ul ul li.menu-item > a {
	color: var(--ink-2);
	border-radius: 8px;
	padding: .55em .9em;
	font-size: 15px;
	border: 0;
}
.lpi-d .header-navigation .header-menu-container ul ul li.menu-item > a:hover { background: var(--paper); color: var(--chalk); }
.lpi-d .header-navigation .header-menu-container ul ul li.menu-item { border: 0; }

/* custom mobile nav (from lpi-customizations) */
@media (max-width: 1024px) {
	.lpi-d #lpi-mobile-nav { background: var(--card); border-bottom: 1px solid var(--line); }
	.lpi-d .lpi-mn-buttons { gap: 8px; padding: 10px 16px; }
	.lpi-d .lpi-mn-btn {
		background: var(--paper);
		color: var(--ink);
		border: 1px solid var(--line-2) !important;
		border-radius: 999px;
		font-family: var(--font-body);
		font-size: 15px;
		padding: 10px 12px;
	}
	.lpi-d .lpi-mn-btn.active { background: var(--chalk); color: #fff; border-color: var(--chalk) !important; }
	.lpi-d .lpi-mn-panel { background: var(--card); border-bottom: 0; padding: 4px 16px 14px; }
	.lpi-d .lpi-mn-panel a { background: var(--paper); border-color: var(--line); color: var(--ink-2); font-weight: 600; }
	.lpi-d .lpi-mn-panel a:active { background: var(--chalk); border-color: var(--chalk); }
}

/* search strip (inline styles from lpi-customizations, hence !important) */
.lpi-d #lpi-search-bar {
	background: var(--paper-2) !important;
	border-bottom: 1px solid var(--line) !important;
	padding: 12px 0 !important;
}
.lpi-d #lpi-search-bar form { position: relative; }
.lpi-d #lpi-search-bar form::before {
	content: "";
	position: absolute; left: 18px; top: 50%;
	width: 18px; height: 18px; margin-top: -9px;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a756e' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
	pointer-events: none;
}
.lpi-d #lpi-search-bar input[type="search"] {
	text-align: left !important;
	padding: 12px 18px 12px 46px !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 999px !important;
	background: var(--card) !important;
	color: var(--ink) !important;
	font-family: var(--font-body);
	font-size: 16px !important;
	max-width: 720px;
	display: block;
	margin: 0 auto;
}
.lpi-d #lpi-search-bar input[type="search"]:focus { border-color: var(--chalk) !important; box-shadow: 0 0 0 3px var(--chalk-tint); }
.lpi-d #lpi-search-bar form::before { left: max(18px, calc(50% - 360px + 18px)); }
.lpi-d.home:not(.paged) #lpi-search-bar { display: none; }

/* ---------------------------------------------------------------- home hero */
.lpi-hero {
	background:
		radial-gradient(circle at 1px 1px, rgba(31, 90, 70, .09) 1px, transparent 0) 0 0 / 22px 22px,
		var(--card);
	border-bottom: 1px solid var(--line);
}
.lpi-hero-inner {
	max-width: 1290px;
	margin: 0 auto;
	padding: 56px 1.5rem 52px;
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
}
.lpi-eyebrow {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--chalk);
}
.lpi-d .lpi-hero-title {
	margin: 0 0 18px;
	font-size: clamp(34px, 4.6vw, 56px);
	line-height: 1.06;
	font-weight: 600;
	letter-spacing: -0.025em;
	max-width: 16ch;
}
.lpi-hero-title em {
	font-style: normal;
	color: var(--chalk);
	background: linear-gradient(transparent 68%, var(--pencil-tint) 68%, var(--pencil-tint) 92%, transparent 92%);
}
.lpi-hero-sub { margin: 0 0 26px; font-size: 18.5px; line-height: 1.55; max-width: 54ch; color: var(--ink-2); }
.lpi-hero-search {
	display: flex;
	max-width: 560px;
	background: var(--card);
	border: 1.5px solid var(--ink);
	border-radius: 999px;
	padding: 5px;
	box-shadow: 4px 4px 0 var(--ink);
}
.lpi-hero-search input[type="search"] {
	flex: 1; min-width: 0;
	border: 0 !important; background: transparent !important; box-shadow: none !important;
	padding: 10px 18px; font-size: 16.5px; font-family: var(--font-body); color: var(--ink);
}
.lpi-hero-search input[type="search"]:focus { outline: none; }
.lpi-hero-search button {
	border: 0; border-radius: 999px; cursor: pointer;
	background: var(--chalk); color: #fff;
	font-family: var(--font-body); font-weight: 700; font-size: 15.5px;
	padding: 10px 22px;
}
.lpi-hero-search button:hover { background: var(--chalk-d); }

.lpi-hero-side {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 22px;
}
.lpi-hero-side-label { margin: 0 0 12px; font-weight: 700; font-size: 14px; color: var(--ink); }
.lpi-grade-pad { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 18px; }
.lpi-d .lpi-grade-pad a {
	display: grid; place-items: center;
	aspect-ratio: 1;
	border-radius: 12px;
	background: var(--card);
	border: 1px solid var(--line-2);
	box-shadow: 0 2px 0 var(--line-2);
	font-family: var(--font-head);
	font-size: 22px; font-weight: 600;
	color: var(--ink);
	text-decoration: none;
	transition: transform .12s, background .12s, color .12s;
}
.lpi-d .lpi-grade-pad a:hover { background: var(--chalk); color: #fff; border-color: var(--chalk); transform: translateY(-2px); }
.lpi-d .lpi-planner-cta {
	display: block;
	padding: 16px 18px 16px 18px;
	border-radius: 12px;
	background: var(--chalk);
	color: #fff;
	text-decoration: none;
	position: relative;
}
.lpi-d .lpi-planner-cta::after { content: "→"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 22px; transition: transform .15s; }
.lpi-d .lpi-planner-cta:hover { background: var(--chalk-d); color: #fff; }
.lpi-d .lpi-planner-cta:hover::after { transform: translate(4px, -50%); }
.lpi-planner-cta strong { display: block; font-family: var(--font-head); font-size: 19px; font-weight: 600; margin-bottom: 2px; }
.lpi-planner-cta span { display: block; font-size: 14.5px; opacity: .85; padding-right: 30px; }

.lpi-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 22px; }
.lpi-d .lpi-section-head h2 { margin: 0; font-size: 28px; font-weight: 600; }
.lpi-section-head a { font-weight: 700; font-size: 15px; text-decoration: none; }

@media (max-width: 900px) {
	.lpi-hero-inner { grid-template-columns: 1fr; gap: 28px; padding: 36px 16px 32px; }
	.lpi-grade-pad { grid-template-columns: repeat(9, 1fr); gap: 6px; }
	.lpi-d .lpi-grade-pad a { font-size: 17px; border-radius: 9px; }
}
@media (max-width: 520px) {
	.lpi-grade-pad { grid-template-columns: repeat(5, 1fr); }
	.lpi-hero-search { box-shadow: 3px 3px 0 var(--ink); }
	.lpi-hero-search button { padding: 10px 16px; }
}

/* ---------------------------------------------------------------- archive grid + cards */
.lpi-d .content-area { margin-top: 2.6rem; margin-bottom: 3.5rem; }
.lpi-d .kadence-posts-list.grid-cols { gap: 26px; }
.lpi-d .loop-entry {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s;
}
.lpi-d .loop-entry:hover { transform: translateY(-3px); border-color: var(--line-2); box-shadow: 0 2px 0 rgba(60,45,20,.04), 0 18px 32px -16px rgba(60,45,20,.32); }
.lpi-d .loop-entry .post-thumbnail { border-bottom: 1px solid var(--line); }
.lpi-d .loop-entry .entry-content-wrap { padding: 20px 22px 22px; }
.lpi-d .loop-entry .entry-header { margin-bottom: 8px; }
.lpi-d .loop-entry .entry-title { font-size: 21px; line-height: 1.25; font-weight: 600; margin: 8px 0 10px; }
.lpi-d .loop-entry .entry-title a { color: var(--ink); text-decoration: none; }
.lpi-d .loop-entry .entry-title a:hover { color: var(--chalk); }
.lpi-d .loop-entry .entry-summary p { font-size: 15.5px; line-height: 1.55; color: var(--ink-2); margin: 0; }
.lpi-d .loop-entry .entry-footer { margin-top: 16px; }
.lpi-d .loop-entry .post-more-link {
	font-family: var(--font-body);
	font-size: 14.5px; font-weight: 700;
	letter-spacing: 0; text-transform: none;
	color: var(--chalk);
	text-decoration: none;
}
.lpi-d .loop-entry .post-more-link:hover { text-decoration: underline; }

.lpi-kicker {
	display: inline-flex; align-items: center; flex-wrap: wrap;
	gap: 8px;
	font-size: 13px; font-weight: 700;
	line-height: 1;
}
.lpi-kicker-subj {
	color: var(--s, var(--chalk));
	background: color-mix(in srgb, var(--s, var(--chalk)) 11%, white);
	padding: 6px 10px;
	border-radius: 999px;
}
.lpi-kicker-subj::before {
	content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%;
	background: var(--s, var(--chalk)); margin-right: 7px; vertical-align: 1px;
}
.lpi-kicker-grade { color: var(--muted); }
.lpi-card-meta { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 4px; }
.lpi-chip {
	display: inline-block;
	font-size: 12.5px; font-weight: 700;
	color: var(--ink-2);
	border: 1px solid var(--line-2);
	padding: 3px 9px;
	border-radius: 6px;
	background: var(--paper);
}
.lpi-chip-time::before { content: "◷ "; color: var(--muted); }
.lpi-chip-lang { border-color: color-mix(in srgb, var(--s-french) 40%, white); color: var(--s-french); background: color-mix(in srgb, var(--s-french) 7%, white); }

/* pagination */
.lpi-d .pagination .page-numbers {
	border-radius: 10px; border: 1px solid var(--line-2); background: var(--card);
	color: var(--ink-2); font-weight: 700; min-width: 2.6em;
}
.lpi-d .pagination .page-numbers.current, .lpi-d .pagination .page-numbers:hover { background: var(--chalk); border-color: var(--chalk); color: #fff; }

/* archive / page title hero */
.lpi-d .entry-hero .entry-hero-container-inner,
.lpi-d .entry-hero-container-inner { background: var(--paper-2); border-bottom: 1px solid var(--line); }
.lpi-d .entry-hero .entry-header { min-height: 0 !important; padding: 34px 0 30px; }
.lpi-d .entry-hero h1, .lpi-d .archive-title, .lpi-d .page-title { font-size: clamp(30px, 3.6vw, 42px); font-weight: 600; line-height: 1.15; margin: 0; }
.lpi-d .archive-description { color: var(--ink-2); max-width: 60ch; margin: 10px auto 0; }

/* ---------------------------------------------------------------- single lesson */
.lpi-d.single-post .content-container { max-width: 900px; }
.lpi-d .single-entry {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 20px;
	box-shadow: var(--shadow);
}
.lpi-d.single-post .content-container .kadence-thumbnail-position-behind {
	margin: 0 auto 24px;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid var(--line);
	max-width: 100%;
}
.lpi-d.single-post .kadence-thumbnail-position-behind::after { display: none; }
.lpi-d .single-entry .entry-content-wrap { padding: 38px 48px 44px; }
.lpi-d .single-entry .entry-header { margin-bottom: 26px; }
.lpi-d .single-entry .entry-taxonomies { display: none; }
.lpi-d .single-entry .entry-header .entry-meta { display: none; }
.lpi-d .single-entry .entry-title { font-size: clamp(30px, 4vw, 44px); line-height: 1.12; font-weight: 600; margin: 14px 0 0; letter-spacing: -0.02em; }

.lpi-facts {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px;
	padding: 14px 16px 14px 20px;
	margin: 0 0 34px;
	border-radius: 14px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-left: 5px solid var(--s, var(--chalk));
}
.lpi-facts dl { display: flex; flex-wrap: wrap; gap: 8px 34px; margin: 0; }
.lpi-facts dl > div { margin: 0; }
.lpi-facts dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); margin: 0 0 2px; }
.lpi-facts dd { margin: 0; font-family: var(--font-head); font-size: 19px; font-weight: 600; color: var(--ink); }
.lpi-d .lpi-print-btn {
	margin: 0;
	padding: 10px 18px;
	background: var(--ink);
	color: #fff !important;
	border-radius: 999px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 14.5px;
}
.lpi-d .lpi-print-btn:hover { background: var(--chalk); }

.lpi-d .lpi-lesson { font-size: 17.5px; line-height: 1.65; color: var(--ink-2); }
.lpi-d .lpi-lesson h2 {
	font-size: 23px; font-weight: 600; line-height: 1.25;
	margin: 0 0 10px;
	color: var(--ink);
}
.lpi-sec { margin: 0 0 34px; position: relative; }
.lpi-sec-body > :last-child { margin-bottom: 0; }
.lpi-d .lpi-sec-body p { margin: 0 0 .8em; }
.lpi-d .lpi-sec-body ul, .lpi-d .lpi-sec-body ol { margin: 0; padding-left: 1.3em; }
.lpi-d .lpi-sec-body li { margin: 0 0 .35em; }
.lpi-d .lpi-sec-body li::marker { color: var(--muted); font-weight: 700; }

/* objective: the headline promise */
.lpi-sec-objective {
	background: var(--pencil-tint);
	border-radius: 14px;
	padding: 20px 24px 22px;
}
.lpi-d .lpi-sec-objective h2 { font-family: var(--font-body); font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8a5a00; margin-bottom: 6px; }
.lpi-d .lpi-sec-objective .lpi-sec-body { font-family: var(--font-head); font-size: 21px; line-height: 1.45; color: var(--ink); font-weight: 500; }

/* materials: a checklist */
.lpi-d .lpi-sec-materials ul {
	list-style: none; padding: 0;
	display: flex; flex-wrap: wrap; gap: 8px;
}
.lpi-d .lpi-sec-materials li {
	margin: 0;
	padding: 6px 12px 6px 32px;
	position: relative;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 8px;
	font-size: 15.5px;
	line-height: 1.35;
}
.lpi-d .lpi-sec-materials li::before {
	content: "";
	position: absolute; left: 11px; top: 50%;
	width: 12px; height: 12px; margin-top: -6px;
	border: 1.5px solid var(--line-2); border-radius: 3px; background: var(--card);
}

/* hook → activity → discussion → exit: a numbered flow */
.lpi-sec-step { padding-left: 54px; }
.lpi-sec-step::before {
	content: "";
	position: absolute; left: 16px; top: 40px; bottom: -30px;
	border-left: 2px dashed var(--line-2);
}
.lpi-sec-step:has(+ :not(.lpi-sec-step))::before,
.lpi-sec-step:last-child::before { display: none; }
.lpi-step-n {
	position: absolute; left: 0; top: -2px;
	width: 34px; height: 34px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--chalk);
	color: #fff;
	font-family: var(--font-head);
	font-weight: 600; font-size: 17px;
}

/* exit ticket: an actual ticket */
.lpi-d .lpi-sec-exit .lpi-sec-body {
	background: var(--card);
	border: 1.5px dashed var(--line-2);
	border-radius: 10px;
	padding: 14px 18px;
	position: relative;
	-webkit-mask: radial-gradient(circle 9px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
	              radial-gradient(circle 9px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
	        mask: radial-gradient(circle 9px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
	              radial-gradient(circle 9px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
	box-shadow: inset 0 0 0 999px #fff8e6;
}

/* differentiation: support / extension side by side */
.lpi-d .lpi-sec-diff .lpi-sec-body { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lpi-d .lpi-sec-diff .lpi-sec-body p {
	margin: 0;
	padding: 14px 16px;
	border-radius: 12px;
	border: 1px solid var(--line);
	background: var(--paper);
	font-size: 16px;
}
.lpi-d .lpi-sec-diff .lpi-sec-body p strong { display: block; font-size: 12.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--chalk); margin-bottom: 4px; }
.lpi-d .lpi-sec-diff .lpi-sec-body p + p strong { color: #8a5a00; }

.lpi-d .lpi-sec-safety .lpi-sec-body { border-left: 4px solid var(--redpen); padding: 4px 0 4px 16px; }

/* tags + post nav + related */
.lpi-d .single-entry .entry-footer { padding: 0; margin-top: 8px; }
.lpi-d .entry-tags { border-top: 1px solid var(--line); padding-top: 22px; }
.lpi-d .entry-tags a.tag-link {
	display: inline-block;
	background: var(--paper);
	border: 1px solid var(--line);
	color: var(--ink-2);
	border-radius: 999px;
	padding: 4px 12px;
	margin: 0 6px 8px 0;
	font-size: 13.5px; font-weight: 600;
	text-transform: none;
	text-decoration: none;
}
.lpi-d .entry-tags a.tag-link:hover { background: var(--chalk); border-color: var(--chalk); color: #fff; }
.lpi-d .entry-tags .tag-hash { display: none; }
.lpi-d .post-navigation { margin-top: 30px; }
.lpi-d .post-navigation a { color: var(--ink); text-decoration: none; font-family: var(--font-head); font-weight: 600; }
.lpi-d .post-navigation .post-navigation-sub small { font-family: var(--font-body); color: var(--muted); letter-spacing: .06em; }
.lpi-d .entry-related { background: var(--paper-2) !important; border-top: 1px solid var(--line); }
.lpi-d .entry-related-title { font-size: 26px; font-weight: 600; }

@media (max-width: 700px) {
	.lpi-d .single-entry .entry-content-wrap { padding: 24px 18px 28px; }
	.lpi-d .single-entry .entry-footer { padding: 0; }
	.lpi-d .lpi-sec-diff .lpi-sec-body { grid-template-columns: 1fr; }
	.lpi-sec-step { padding-left: 46px; }
	.lpi-facts dl { gap: 8px 22px; }
	.lpi-d .lpi-sec-objective .lpi-sec-body { font-size: 19px; }
}

/* ---------------------------------------------------------------- pages (about, browse, contact, planner) */
.lpi-d.page .content-container { max-width: 980px; }
.lpi-d.page .entry.single-entry .entry-content-wrap { padding: 40px 48px; }
.lpi-d.page .entry-content h2 { font-size: 26px; font-weight: 600; margin-top: 1.4em; }
.lpi-d.page .entry-content h3 { font-size: 20px; font-weight: 600; }
/* [lpi_browse] tag chips carry inline styles */
.lpi-d .entry-content a[style*="background:#f0f0f0"] {
	background: var(--paper) !important;
	border: 1px solid var(--line);
	border-radius: 999px !important;
	color: var(--ink-2) !important;
	font-weight: 600;
}
.lpi-d .entry-content a[style*="background:#f0f0f0"]:hover { background: var(--chalk) !important; border-color: var(--chalk); color: #fff !important; }
.lpi-d .entry-content hr { border: 0; border-top: 1px solid var(--line); }
/* [lpi_contact] */
.lpi-d .entry-content form input[type="text"],
.lpi-d .entry-content form input[type="email"],
.lpi-d .entry-content form textarea {
	border: 1px solid var(--line-2) !important;
	border-radius: 10px !important;
	background: var(--card);
	font-family: var(--font-body);
}
.lpi-d .entry-content form input:focus, .lpi-d .entry-content form textarea:focus { border-color: var(--chalk) !important; box-shadow: 0 0 0 3px var(--chalk-tint); outline: none; }
.lpi-d .entry-content form button[type="submit"] {
	background: var(--chalk) !important;
	border-radius: 999px !important;
	font-family: var(--font-body);
	font-weight: 700;
}
.lpi-d .entry-content form button[type="submit"]:hover { background: var(--chalk-d) !important; }

/* ---------------------------------------------------------------- day builder */
.lpi-d .lpi-db { font-family: var(--font-body); color: var(--ink); max-width: 860px; }
.lpi-d .lpi-setup { gap: 0; }
.lpi-d .lpi-setup > .lpi-row { padding: 22px 0; border-bottom: 1px solid var(--line); gap: 12px; }
.lpi-d .lpi-setup > .lpi-row:first-child { padding-top: 4px; }
.lpi-d .lpi-lbl { font-family: var(--font-head); font-size: 19px; font-weight: 600; color: var(--ink); }
.lpi-d .lpi-seg { border-color: var(--line-2); border-radius: 999px; background: var(--paper); padding: 3px; gap: 3px; }
.lpi-d .lpi-seg-btn { background: transparent; border: 0 !important; border-radius: 999px; font-family: var(--font-body); font-weight: 600; font-size: 15px; color: var(--ink-2); padding: 8px 18px; }
.lpi-d .lpi-seg-btn.is-on { background: var(--chalk); color: #fff; }
.lpi-d .lpi-select { border-color: var(--line-2); border-radius: 10px; font-family: var(--font-body); font-size: 16px; background-color: var(--card); color: var(--ink); min-width: 160px; }
.lpi-d .lpi-subj-grid { gap: 10px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.lpi-d .lpi-subj { border-color: var(--line-2); border-radius: 12px; background: var(--card); padding: 14px 16px; font-family: var(--font-body); }
.lpi-d .lpi-subj:hover:not(:disabled) { border-color: var(--chalk); }
.lpi-d .lpi-subj.is-on { border-color: var(--chalk); background: var(--chalk-tint); box-shadow: inset 0 0 0 1px var(--chalk); }
.lpi-d .lpi-subj.is-on .lpi-subj-name::after { content: " ✓"; color: var(--chalk); }
.lpi-d .lpi-subj-name { color: var(--ink); font-size: 15.5px; }
.lpi-d .lpi-subj-count { color: var(--muted); font-size: 13px; }
.lpi-d .lpi-subj.is-disabled, .lpi-d .lpi-subj:disabled { opacity: .55; background: var(--paper); }
.lpi-d .lpi-btn-row { padding-top: 22px; }
.lpi-d .lpi-btn { border-color: var(--line-2); border-radius: 999px; font-family: var(--font-body); font-weight: 600; color: var(--ink-2); background: var(--card); padding: 11px 22px; }
.lpi-d .lpi-btn:hover { border-color: var(--ink-2); }
.lpi-d .lpi-btn-primary { background: var(--chalk); border-color: var(--chalk); color: #fff; font-weight: 700; }
.lpi-d .lpi-btn-primary:hover { background: var(--chalk-d); border-color: var(--chalk-d); }
.lpi-d .lpi-bar { flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 22px; }
.lpi-d .lpi-day-title { font-size: 28px; font-weight: 600; }
.lpi-d .lpi-slot { border-color: var(--line); border-radius: 14px; background: var(--card); box-shadow: var(--shadow); }
.lpi-d .lpi-slot-head { background: var(--paper); border-bottom-color: var(--line); }
.lpi-d .lpi-slot-subj { color: var(--chalk); font-family: var(--font-body); }
.lpi-d .lpi-handle { color: var(--line-2); }
.lpi-d .lpi-mini { border-color: var(--line-2); border-radius: 999px; background: var(--card); font-family: var(--font-body); font-weight: 600; color: var(--ink-2); }
.lpi-d .lpi-mini:hover { border-color: var(--chalk); color: var(--chalk); }
.lpi-d .lpi-plan-title { font-size: 22px; font-weight: 600; }
.lpi-d .lpi-field h4 { font-family: var(--font-body); font-size: 12.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--chalk); margin-top: 16px; }
.lpi-d .lpi-choose-item { border-color: var(--line); border-radius: 10px; background: var(--card); font-family: var(--font-body); }
.lpi-d .lpi-choose-item:hover, .lpi-d .lpi-choose-item.is-on { border-color: var(--chalk); background: var(--chalk-tint); }

/* ---------------------------------------------------------------- footer */
.lpi-d .site-footer { background: var(--chalk-d); color: rgba(255,255,255,.78); }
.lpi-d .site-footer .site-footer-row-container-inner { background: transparent; }
.lpi-d .site-bottom-footer-wrap .site-footer-row-container-inner { padding: 22px 0; border-top: 0; }
.lpi-d .site-footer .footer-navigation a,
.lpi-d .site-footer a { color: #fff; font-size: 15px; }
.lpi-d .site-footer .footer-navigation a:hover { color: var(--pencil); }
.lpi-d .site-footer .footer-html { color: rgba(255,255,255,.65); font-size: 14px; }
.lpi-d #colophon { border-top: 4px solid var(--pencil); }

/* ---------------------------------------------------------------- print */
@media print {
	body.lpi-d { background: #fff; font-size: 12pt; }
	.lpi-d .single-entry { border: 0; box-shadow: none; }
	.lpi-d .single-entry .entry-header .lpi-kicker { display: block; font-size: 10pt; }
	.lpi-d .lpi-facts { border: 1px solid #bbb; border-left-width: 4px; padding: 6pt 10pt; margin-bottom: 14pt; }
	.lpi-d .lpi-facts .lpi-print-btn { display: none !important; }
	.lpi-d .lpi-sec { margin-bottom: 14pt; break-inside: avoid; }
	.lpi-d .lpi-sec-objective { background: none; border: 1px solid #ccc; padding: 8pt 12pt; }
	.lpi-d .lpi-sec-objective .lpi-sec-body { font-size: 13pt; }
	.lpi-sec-step { padding-left: 30pt; }
	.lpi-sec-step::before { display: none; }
	.lpi-step-n { width: 20pt; height: 20pt; font-size: 11pt; background: none !important; color: #000; border: 1px solid #000; print-color-adjust: exact; }
	.lpi-d .lpi-sec-exit .lpi-sec-body { -webkit-mask: none; mask: none; box-shadow: none; }
	.lpi-d .lpi-sec-materials li { background: none; }
	.lpi-d .lpi-lesson h2 { font-size: 14pt; }
}

/* ---------------------------------------------------------------- fixes */
.lpi-d .site-footer .footer-navigation .footer-menu-container > ul > li > a,
.lpi-d .site-footer .footer-navigation .footer-menu-container > ul > li.current-menu-item > a { color: rgba(255,255,255,.88) !important; }
.lpi-d .site-footer .footer-navigation .footer-menu-container > ul > li > a:hover { color: var(--pencil) !important; }
@media (max-width: 600px) {
	.lpi-d .lpi-section-head h2 { font-size: 23px; }
	.lpi-section-head a { white-space: nowrap; font-size: 14px; }
	.lpi-eyebrow { font-size: 12px; letter-spacing: .06em; }
}
@media (max-width: 719px) {
	.lpi-d .site-main > .single-entry, .lpi-d .site-main > article.entry { margin-left: 0; margin-right: 0; }
}
@media print {
	.lpi-d #lpi-mobile-nav, .lpi-d .lpi-hero, .lpi-d .entry-related { display: none !important; }
	.lpi-d .single-entry, .lpi-d .lpi-facts, .lpi-d .lpi-sec-diff .lpi-sec-body p { background: #fff !important; }
}
@media (min-width: 1025px) and (max-width: 1240px) {
	.lpi-d .main-navigation .primary-menu-container > ul > li.menu-item > a { font-size: 14.5px; padding-left: .55em; padding-right: .55em; }
	.lpi-d #primary-menu > li.menu-item-488 > a { margin-right: .2em; }
	.lpi-d .site-title { font-size: 21px !important; }
}
@media (min-width: 1025px) and (max-width: 1240px) {
	.lpi-d .main-navigation .primary-menu-container > ul > li.menu-item > a { font-size: 14.5px; padding-left: .55em; padding-right: .55em; }
	.lpi-d #primary-menu > li.menu-item-488 > a { margin-right: .2em; }
	.lpi-d .site-title { font-size: 21px !important; }
}

/* ---------------------------------------------------------------- lesson diagrams */
.lpi-diagram-wrap { margin: 18px 0 4px; }
.lpi-d .lpi-diagram { margin: 0; display: grid; gap: 10px; }
.lpi-diagram-art { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.lpi-diagram-art svg, .lpi-diagram-art img { display: block; width: 100%; height: auto; margin: 0; border-radius: 0; }
.lpi-d .lpi-diagram figcaption { font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.lpi-diagram-tools { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.lpi-d .lpi-dg-btn, .lpi-d .lpi-dg-show {
	background: none; border: 0; padding: 2px 0; cursor: pointer;
	font-family: var(--font-body); font-size: 13.5px; font-weight: 600; color: var(--muted);
	text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: .2em;
}
.lpi-d .lpi-dg-btn:hover, .lpi-d .lpi-dg-show:hover { color: var(--chalk); text-decoration-color: var(--chalk); background: none; }
.lpi-d .lpi-dg-btn:disabled { opacity: .5; cursor: default; }
.lpi-dg-show { display: none; }
.lpi-dg-off .lpi-diagram { display: none; }
.lpi-dg-off .lpi-dg-show { display: inline-block; }
.lpi-dg-show::before { content: "+ "; }

.lpi-dg-form { display: grid; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.lpi-dg-form[hidden], .lpi-dg-status[hidden] { display: none; }
.lpi-dg-form fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 6px; }
.lpi-dg-form legend { font-weight: 600; color: var(--ink); font-size: 15px; margin-bottom: 4px; padding: 0; }
.lpi-dg-form label { font-size: 15px; display: flex; gap: 8px; align-items: center; cursor: pointer; }
.lpi-dg-form input[type="radio"] { accent-color: var(--chalk); margin: 0; }
.lpi-d .lpi-dg-note { display: grid; gap: 4px; font-size: 14px; font-weight: 600; color: var(--ink-2); cursor: default; }
.lpi-d .lpi-dg-note textarea { width: 100%; font: inherit; font-weight: 400; font-size: 15px; border: 1px solid var(--line-2); border-radius: 8px; padding: 8px 10px; background: var(--card); resize: vertical; }
.lpi-dg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.lpi-dg-actions { display: flex; gap: 16px; align-items: center; }
.lpi-d .lpi-dg-send { background: var(--chalk); color: #fff; border: 0; border-radius: 999px; padding: 8px 18px; font-family: var(--font-body); font-weight: 700; font-size: 14px; cursor: pointer; }
.lpi-d .lpi-dg-send:hover { background: var(--chalk-d); }
.lpi-d .lpi-dg-send:disabled { opacity: .6; }
.lpi-d .lpi-dg-status { margin: 0; font-size: 14.5px; color: var(--chalk); font-weight: 600; }

@media print {
	.lpi-diagram-tools, .lpi-dg-form, .lpi-dg-status, .lpi-dg-show { display: none !important; }
	.lpi-diagram-wrap { break-inside: avoid; }
	.lpi-diagram-art { border-color: #ccc; }
}
@media print {
	.lpi-d .single-entry .entry-footer, .lpi-d .entry-tags, .lpi-d .post-navigation { display: none !important; }
}

/* print choice for lessons with a diagram */
.lpi-print-group { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.lpi-d .lpi-print-opt { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: var(--ink-2); cursor: pointer; margin: 0; }
.lpi-print-opt input { accent-color: var(--chalk); width: 16px; height: 16px; margin: 0; }
@media print {
	.lpi-print-opt { display: none !important; }
	html.lpi-print-nodg .lpi-diagram-wrap { display: none !important; }
	html.lpi-print-dg.lpi-dg-off .lpi-diagram { display: grid !important; }
}
.lpi-d .lpi-sec-diff .lpi-diagram-wrap { grid-column: 1 / -1; margin-top: 4px; }

/* ---------------------------------------------------------------- worksheet call to action (screen only) */
.lpi-d .lpi-ws-cta {
	display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: start;
	margin: 36px 0 8px; padding: 22px 24px;
	background: var(--chalk-tint); border: 1px solid color-mix(in srgb, var(--chalk) 22%, transparent); border-radius: 16px;
}
.lpi-d .lpi-ws-icon { color: var(--chalk); line-height: 0; padding-top: 4px; }
.lpi-d .lpi-ws-eyebrow { margin: 0 0 2px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--chalk); }
.lpi-d .lpi-lesson + .lpi-ws-cta .lpi-ws-head, .lpi-d .lpi-ws-head { margin: 0 0 6px; font-size: 21px; font-weight: 600; line-height: 1.3; color: var(--ink); }
.lpi-d .lpi-ws-body { margin: 0 0 14px; font-size: 16px; line-height: 1.55; color: var(--ink-2); max-width: 62ch; }
.lpi-d .lpi-ws-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.lpi-d .lpi-ws-btn {
	display: inline-block; padding: 10px 20px; border-radius: 999px;
	background: var(--chalk); color: #fff !important; text-decoration: none;
	font-family: var(--font-body); font-weight: 700; font-size: 15px;
}
.lpi-d .lpi-ws-btn:hover { background: var(--chalk-d); }
.lpi-d .lpi-ws-free { font-size: 14px; font-weight: 600; color: var(--chalk); }
@media (max-width: 560px) {
	.lpi-d .lpi-ws-cta { grid-template-columns: 1fr; padding: 18px; }
	.lpi-d .lpi-ws-icon svg { width: 36px; height: 36px; }
}
@media print { .lpi-ws-cta { display: none !important; } }

/* ---------------------------------------------------------------- about this lesson (screen only) */
.lpi-d .lpi-about { margin: 18px 0 0; max-width: 64ch; }
.lpi-d .lpi-about .lpi-about-label { margin: 0 0 4px; font-family: var(--font-body); font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.lpi-d .lpi-about p { margin: 0; font-size: 18.5px; line-height: 1.6; color: var(--ink-2); }
@media print {
	.lpi-d .lpi-about { margin: 6pt 0 10pt; max-width: none; }
	.lpi-d .lpi-about .lpi-about-label { font-size: 8.5pt; color: #555; }
	.lpi-d .lpi-about p { font-size: 11.5pt; line-height: 1.45; color: #222; }
}

/* ---------------------------------------------------------------- browse: holidays & seasons */
.lpi-d .lpi-browse-note { color: var(--muted); margin: -4px 0 14px; }
.lpi-d .lpi-holidays { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.lpi-d .lpi-holidays li { margin: 0; }
.lpi-d .lpi-holidays a, .lpi-d .lpi-holidays .coming { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); text-decoration: none; }
.lpi-d .lpi-holidays a { background: var(--card); border-color: color-mix(in srgb, var(--chalk) 35%, var(--line)); }
.lpi-d .lpi-holidays a:hover { border-color: var(--chalk); background: var(--chalk-tint); }
.lpi-d .lpi-holidays .coming { background: transparent; border-style: dashed; }
.lpi-d .lpi-h-name { font-weight: 600; color: var(--ink); line-height: 1.3; }
.lpi-d .lpi-holidays .coming .lpi-h-name { color: var(--ink-2); }
.lpi-d .lpi-h-meta { font-size: 13.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.lpi-d .lpi-holidays a .lpi-h-meta { color: var(--chalk); font-weight: 600; }

/* ---------------------------------------------------------------- browse layout */
.lpi-d .lpi-browse-block { margin: 0 0 2.4em; }
.lpi-d .lpi-browse-block > h2 { margin: 0 0 14px; }
.lpi-d .lpi-browse-more { margin: 10px 0 0; font-size: 14.5px; font-weight: 600; }
.lpi-d .lpi-browse-more a { text-decoration: none; }
.lpi-d .lpi-holidays-soon { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.lpi-d .lpi-tiles { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.lpi-d .lpi-tiles-grade { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.lpi-d .lpi-tiles li { margin: 0; }
.lpi-d .lpi-tiles a { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 12px 14px; border-radius: 12px; background: var(--card); border: 1px solid var(--line-2); text-decoration: none; transition: border-color .12s, background .12s; }
.lpi-d .lpi-tiles a:hover { border-color: var(--chalk); background: var(--chalk-tint); }
.lpi-d .lpi-t-name { font-weight: 600; color: var(--ink); }
.lpi-d .lpi-t-count { font-size: 13.5px; font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; }
.lpi-d .lpi-cat-list { columns: 2; column-gap: 2em; list-style: none; padding: 0; margin: 0 0 1.2em; }
.lpi-d .lpi-cat-list li { margin: 0 0 .4em; break-inside: avoid; }
.lpi-d .lpi-count { color: var(--muted); font-size: .9em; }
.lpi-d .lpi-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1.2em; }
.lpi-d .lpi-chips a { display: inline-block; padding: 6px 13px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); color: var(--ink-2); font-weight: 600; font-size: 14.5px; text-decoration: none; }
.lpi-d .lpi-chips a:hover { background: var(--chalk); border-color: var(--chalk); color: #fff; }
.lpi-d .lpi-chips a span { font-weight: 400; opacity: .75; }
@media (max-width: 560px) { .lpi-d .lpi-cat-list { columns: 1; } }
.lpi-d .lpi-tiles-grade { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.lpi-d .lpi-t-name { min-width: 0; overflow-wrap: normal; word-break: normal; hyphens: none; }
.lpi-d .lpi-t-count { flex: none; white-space: nowrap; }
.lpi-d .lpi-tiles-grade { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); } .lpi-d .lpi-tiles a { gap: 12px; }

/* ---------------------------------------------------------------- quick lessons */
.lpi-d .lpi-kicker-quick {
	display: inline-flex; align-items: center; gap: 5px;
	color: #8a5a00; background: var(--pencil-tint); padding: 6px 10px; border-radius: 999px;
}
.lpi-d .lpi-kicker-quick::before { content: "⏱"; font-size: 12px; }
.lpi-d .lpi-sec-prep .lpi-sec-body { background: var(--paper); border: 1px dashed var(--line-2); border-radius: 10px; padding: 10px 14px; font-size: 16px; }
.lpi-d .lpi-sec-prep h2 { font-size: 19px; }
.lpi-d .lpi-sec-steps ol { padding-left: 1.4em; }
.lpi-d .lpi-sec-steps li { margin: 0 0 .6em; padding-left: .2em; }
.lpi-d .lpi-sec-steps li::marker { color: var(--chalk); font-weight: 700; }
.lpi-d .lpi-sec-goodfor ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lpi-d .lpi-sec-goodfor li { margin: 0; padding: 5px 12px; border-radius: 999px; background: var(--chalk-tint); color: var(--chalk); font-weight: 600; font-size: 14.5px; }
@media print {
	.lpi-d .lpi-kicker-quick { background: none; border: 1px solid #999; }
	.lpi-d .lpi-sec-goodfor li { background: none; border: 1px solid #bbb; color: #222; }
}

/* ---------------------------------------------------------------- quick lessons hub */
.lpi-d .lpi-qf { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; padding: 16px 18px; margin: 0 0 18px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; }
.lpi-d .lpi-qf label { display: grid; gap: 4px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.lpi-d .lpi-qf select { min-width: 160px; padding: 9px 12px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--card); font-family: var(--font-body); font-size: 15.5px; color: var(--ink); text-transform: none; letter-spacing: 0; font-weight: 400; }
.lpi-d .lpi-qf button { padding: 10px 20px; border: 0; border-radius: 999px; background: var(--chalk); color: #fff; font-family: var(--font-body); font-weight: 700; font-size: 15px; cursor: pointer; }
.lpi-d .lpi-qf button:hover { background: var(--chalk-d); }
.lpi-d .lpi-qf-reset { font-weight: 600; font-size: 14.5px; padding-bottom: 10px; }
.lpi-d .lpi-q-count { color: var(--muted); font-weight: 600; margin: 0 0 12px; }
.lpi-d .lpi-q-empty { padding: 18px; border: 1px dashed var(--line-2); border-radius: 12px; }
.lpi-d .lpi-q-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.lpi-d .lpi-q-card { margin: 0; }
.lpi-d .lpi-q-card a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 16px 18px; border-radius: 14px; background: var(--card); border: 1px solid var(--line); border-top: 4px solid var(--s, var(--chalk)); text-decoration: none; color: var(--ink-2); transition: transform .15s, box-shadow .15s; box-shadow: var(--shadow); }
.lpi-d .lpi-q-card a:hover { transform: translateY(-2px); }
.lpi-d .lpi-q-meta { font-size: 13px; font-weight: 600; color: var(--muted); }
.lpi-d .lpi-q-subj { color: var(--s, var(--chalk)); }
.lpi-d .lpi-q-title { font-size: 18px; font-weight: 600; line-height: 1.3; color: var(--ink); }
.lpi-d .lpi-q-blurb { font-size: 15px; line-height: 1.5; }
.lpi-d .lpi-q-facts { margin-top: auto; font-size: 13.5px; font-weight: 700; color: #8a5a00; }
.lpi-d .lpi-quick-promo { display: grid; gap: 4px; padding: 18px 22px; border-radius: 16px; background: var(--pencil-tint); border: 1px solid #f0d89a; text-decoration: none; color: var(--ink-2); }
.lpi-d .lpi-quick-promo:hover { border-color: var(--pencil); }
.lpi-d .lpi-qp-badge { font-size: 13px; font-weight: 700; color: #8a5a00; }
.lpi-d .lpi-qp-title { font-size: 22px; font-weight: 600; color: var(--ink); }
.lpi-d .lpi-qp-text { font-size: 15.5px; }

/* quick lessons: pagination + compact mobile cards */
.lpi-d .lpi-q-pages { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 22px 0 6px; flex-wrap: wrap; }
.lpi-d .lpi-q-nums { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
.lpi-d .lpi-q-num, .lpi-d .lpi-q-prev, .lpi-d .lpi-q-next { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--card); color: var(--ink-2); font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; }
.lpi-d a.lpi-q-num:hover, .lpi-d a.lpi-q-prev:hover, .lpi-d a.lpi-q-next:hover { border-color: var(--chalk); color: var(--chalk); }
.lpi-d .lpi-q-num.is-current { background: var(--chalk); border-color: var(--chalk); color: #fff; }
.lpi-d .is-off { opacity: .4; }
.lpi-d .lpi-q-gap { align-self: center; color: var(--muted); }
@media (max-width: 600px) {
	.lpi-d .lpi-qf { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; }
	.lpi-d .lpi-qf label:first-child { grid-column: 1 / -1; }
	.lpi-d .lpi-qf select { min-width: 0; width: 100%; }
	.lpi-d .lpi-qf button { grid-column: 1 / -1; }
	.lpi-d .lpi-q-grid { gap: 10px; }
	.lpi-d .lpi-q-card a { padding: 12px 14px; gap: 5px; }
	.lpi-d .lpi-q-title { font-size: 16.5px; }
	.lpi-d .lpi-q-blurb { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14.5px; }
	.lpi-d .lpi-q-pages { justify-content: center; }
	.lpi-d .lpi-q-prev, .lpi-d .lpi-q-next { flex: 1 1 40%; }
	.lpi-d .lpi-q-nums { order: -1; flex-basis: 100%; }
}
