/* Finnish Bangla Lessons — styles scoped to lesson content so the site theme stays untouched. */
.fbl-lesson, .fbl-home, .fbl-word {
	--fbl-blue: #0b3d91;
	--fbl-blue-dark: #072a66;
	--fbl-blue-soft: #e8eef9;
	--fbl-lake: #2f6fb3;
	--fbl-accent: #c8502a;
	--fbl-ink: #1d2433;
	--fbl-muted: #5b6577;
	--fbl-line: #d9dfea;
	--fbl-snow: #fbfcfe;
	--fbl-radius: 10px;
	font-family: "Hind Siliguri", "Noto Sans Bengali", system-ui, sans-serif;
	line-height: 1.75;
	color: var(--fbl-ink);
}
.fbl-lesson h2, .fbl-lesson h3, .fbl-home h2, .fbl-home h3 { color: var(--fbl-blue-dark); line-height: 1.35; }
.fbl-lesson h2 { padding-bottom: .3em; border-bottom: 2px solid var(--fbl-blue-soft); margin: 1.6em 0 .6em; }
.fbl-lesson h3 { margin: 1.3em 0 .5em; }

/* Finnish words */
.fbl-lesson [lang="fi"], .fbl-home [lang="fi"], .fbl-word [lang="fi"] {
	font-family: "Source Sans 3", "Segoe UI", system-ui, sans-serif; font-weight: 600; color: var(--fbl-blue); font-style: normal;
}

/* Tables */
.fbl-lesson table { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; font-size: .97em; display: block; overflow-x: auto; border: 0; }
.fbl-lesson table thead, .fbl-lesson table tbody { display: table; width: 100%; border-collapse: collapse; }
.fbl-lesson th { background: var(--fbl-blue); color: #fff; text-align: left; padding: 8px 12px; font-weight: 600; border: 0; }
.fbl-lesson td { border: 0; border-bottom: 1px solid var(--fbl-line); padding: 8px 12px; vertical-align: top; background: #fff; }
.fbl-lesson tr:nth-child(even) td { background: var(--fbl-snow); }
.fbl-lesson table [lang="fi"] { color: var(--fbl-blue-dark); }

/* Boxes */
.fbl-lesson .note, .fbl-lesson .tip, .fbl-lesson .warn {
	border-left: 4px solid var(--fbl-lake); background: var(--fbl-blue-soft); padding: 12px 16px; border-radius: 0 var(--fbl-radius) var(--fbl-radius) 0; margin: 0 0 1.2em;
}
.fbl-lesson .tip { border-color: #2e8b57; background: #eaf6ef; }
.fbl-lesson .warn { border-color: var(--fbl-accent); background: #fbefe9; }
.fbl-lesson .note > :last-child, .fbl-lesson .tip > :last-child, .fbl-lesson .warn > :last-child { margin-bottom: 0; }
.fbl-lesson .example { background: var(--fbl-snow); border: 1px solid var(--fbl-line); border-radius: var(--fbl-radius); padding: 12px 16px; margin: 0 0 1.2em; }
.fbl-lesson .example p { margin: 0 0 .4em; }
.fbl-lesson .example p:last-child, .fbl-lesson p.example { margin-bottom: 1.2em; }
.fbl-lesson .example p:last-child { margin: 0; }
.fbl-lesson .level { display: inline-block; font-size: .78em; font-weight: 700; border-radius: 6px; padding: 1px 8px; background: var(--fbl-accent); color: #fff; vertical-align: middle; }

/* All lessons list */
.fbl-all h2 { margin-top: 1.2em; }
.fbl-all h3 { margin-top: .9em; font-size: 1.05em; color: var(--fbl-lake); }
.fbl-all ul { columns: 2 280px; column-gap: 32px; }
.fbl-all li { break-inside: avoid; }

/* Landing block [finnish_home] */
.fbl-home .fbl-hero {
	background: linear-gradient(135deg, var(--fbl-blue) 0%, var(--fbl-lake) 100%); color: #fff; border-radius: var(--fbl-radius); padding: 28px 28px; margin: 0 0 22px;
}
.fbl-home .fbl-hero h2 { color: #fff; margin: 0 0 .3em; border: 0; font-size: 1.7em; }
.fbl-home .fbl-hero p { margin: 0 0 1em; }
.fbl-home .fbl-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.fbl-home .fbl-btn { display: inline-block; padding: 8px 18px; border-radius: 999px; background: #fff; color: var(--fbl-blue-dark); text-decoration: none; font-weight: 600; border: 2px solid #fff; }
.fbl-home .fbl-btn.ghost { background: transparent; color: #fff; }
.fbl-home .fbl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin: 0 0 22px; }
.fbl-home .fbl-card { display: block; background: #fff; border: 1px solid var(--fbl-line); border-radius: var(--fbl-radius); padding: 16px 18px; text-decoration: none; color: var(--fbl-ink); }
.fbl-home .fbl-card:hover { border-color: var(--fbl-lake); }
.fbl-home .fbl-card strong { display: block; color: var(--fbl-blue-dark); font-size: 1.05em; }
.fbl-home .fbl-card span { font-size: .9em; color: var(--fbl-muted); }
.fbl-home .fbl-count { display: inline-block; margin-top: 6px; font-size: .8em; background: var(--fbl-blue-soft); color: var(--fbl-blue-dark); border-radius: 999px; padding: 1px 10px; }
.fbl-home .fbl-new { list-style: none; margin: 0; padding: 0; }
.fbl-home .fbl-new li { padding: 8px 0; border-bottom: 1px dashed var(--fbl-line); }

/* Word of the day [finnish_word] */
.fbl-word { text-align: center; }
.fbl-word .fi-word { display: block; font-size: 1.6em; }
.fbl-word .bn-word { display: block; }
.fbl-word .say { color: var(--fbl-muted); font-size: .9em; }
