.iifbc-catalog {
	--iifbc-primary: #084366;
	--iifbc-accent: #1d4841;
	--iifbc-border: #d9e2dc;
	--iifbc-muted: #66717c;
	--iifbc-surface: #f6faf7;
	--iifbc-tint: #f2faef;
	color: #202a33;
	font-family: "Montserrat", Arial, Helvetica, sans-serif !important;
	font-style: normal;
	font-weight: 400;
	width: 100%;
}

.iifbc-catalog *, .iifbc-catalog *::before, .iifbc-catalog *::after { box-sizing: border-box; }
.iifbc-catalog table,
.iifbc-catalog thead,
.iifbc-catalog tbody,
.iifbc-catalog tr,
.iifbc-catalog th,
.iifbc-catalog td,
.iifbc-catalog summary,
.iifbc-catalog input,
.iifbc-catalog h2,
.iifbc-catalog h3,
.iifbc-catalog p,
.iifbc-catalog li,
.iifbc-catalog a,
.iifbc-catalog span,
.iifbc-catalog small,
.iifbc-catalog strong {
	font-family: "Montserrat", Arial, Helvetica, sans-serif !important;
}
.iifbc-catalog td,
.iifbc-catalog p,
.iifbc-catalog input { font-weight: 400; }
.iifbc-catalog th,
.iifbc-catalog strong { font-weight: 700; }
.iifbc-catalog .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.iifbc-catalog__search-wrap {
	align-items: center;
	background: #fff;
	border: 1px solid var(--iifbc-border);
	border-radius: 4px;
	display: flex;
	gap: .55rem;
	margin: 0 0 1.25rem;
	padding: 0 .9rem;
}
.iifbc-catalog__search-wrap:focus-within { border-color: var(--iifbc-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--iifbc-accent) 20%, transparent); }
.iifbc-catalog__search-wrap span { color: var(--iifbc-muted); font-size: 1.35rem; }
.iifbc-catalog__search { appearance: none; background: transparent; border: 0 !important; box-shadow: none !important; color: inherit; font: inherit; min-height: 52px; outline: 0; padding: 0 !important; width: 100%; }
.iifbc-catalog__empty { background: #fff6e5; border-left: 4px solid var(--iifbc-accent); margin: 0 0 1rem; padding: .8rem 1rem; }

.iifbc-program { background: #fff; border: 1px solid var(--iifbc-border); border-radius: 4px; margin: 0 0 .75rem; overflow: hidden; }
.iifbc-program[hidden] { display: none; }
.iifbc-program summary { align-items: center; cursor: pointer; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto 18px; list-style: none; padding: 1.1rem 1.25rem; transition: background .2s ease; }
.iifbc-program summary::-webkit-details-marker { display: none; }
.iifbc-program summary:hover, .iifbc-program summary:focus-visible { background: var(--iifbc-surface); }
.iifbc-program[open] { background: var(--iifbc-tint); border-color: var(--iifbc-accent); }
.iifbc-program[open] summary { background: var(--iifbc-tint); border-bottom: 1px solid #d5e8d6; color: var(--iifbc-primary); }
.iifbc-program__title { align-items: center; display: flex; font-size: 1.05rem; font-weight: 700; gap: .55rem; line-height: 1.35; }
.iifbc-program__price { color: var(--iifbc-accent); font-weight: 700; white-space: nowrap; }
.iifbc-program__badge { background: var(--iifbc-accent); border-radius: 2px; color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .06em; padding: .23rem .4rem; }
.iifbc-program__chevron { border-bottom: 2px solid var(--iifbc-accent); border-right: 2px solid var(--iifbc-accent); display: block; height: 9px; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; width: 9px; }
.iifbc-program[open] .iifbc-program__chevron { transform: rotate(225deg) translate(-2px, -2px); }
.iifbc-program__content { background: inherit; padding: 1.2rem 1.25rem 1.35rem; }
.iifbc-program__content h3 { color: var(--iifbc-primary); font: inherit; font-size: .95rem; font-weight: 700; margin: 0 0 .7rem; }
.iifbc-program__content ul { list-style: none; margin: 0; padding: 0; }
.iifbc-program__content li { align-items: baseline; border-top: 1px solid #edf0f2; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: .65rem 0; }
.iifbc-program__content li:first-child { border-top: 0; }
.iifbc-program__content li strong { color: var(--iifbc-primary); }
.iifbc-program__content li > span:last-child { color: var(--iifbc-primary); font-weight: 600; white-space: nowrap; }
.iifbc-catalog__disclosure { background: #f4f1ea; border-left: 4px solid var(--iifbc-accent); font-size: .9rem; margin: 0 0 1.5rem; padding: .8rem 1rem; }
.iifbc-detail-program { border: 1px solid var(--iifbc-border); margin: 0 0 2rem; }
.iifbc-detail-program > header { align-items: center; background: var(--iifbc-tint); border-bottom: 1px solid var(--iifbc-accent); color: var(--iifbc-primary); display: flex; gap: 1rem; justify-content: space-between; padding: 1rem 1.2rem; }
.iifbc-detail-program > header h2 { color: inherit; font: inherit; font-size: 1.25rem; font-weight: 700; margin: 0; }
.iifbc-detail-program > header span { color: var(--iifbc-accent); font-weight: 700; white-space: nowrap; }
.iifbc-table-wrap { overflow-x: auto; }
.iifbc-detail-program table { border-collapse: collapse; margin: 0; min-width: 760px; width: 100%; }
.iifbc-detail-program th, .iifbc-detail-program td { border: 0; border-bottom: 1px solid var(--iifbc-border); padding: .85rem 1rem; text-align: left; vertical-align: top; }
.iifbc-detail-program th { background: var(--iifbc-surface); color: var(--iifbc-primary); font-size: .88rem; }
.iifbc-detail-program th small { color: var(--iifbc-muted); font-size: .78rem; font-weight: 500; white-space: nowrap; }
.iifbc-detail-program td:nth-child(1) { width: 27%; }
.iifbc-detail-program td:nth-child(2) { width: 40%; }
.iifbc-detail-program td:nth-child(3) span { display: block; white-space: nowrap; }
.iifbc-detail-program td:last-child { font-weight: 600; white-space: nowrap; }
.iifbc-detail-program a { color: var(--iifbc-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.iifbc-detail-program small { color: var(--iifbc-muted); white-space: nowrap; }
.iifbc-detail-program .iifbc-book-author { display: block; margin-top: .25rem; white-space: normal; }
.iifbc-book-entry + .iifbc-book-entry { border-top: 1px solid var(--iifbc-border); margin-top: .65rem; padding-top: .65rem; }

.iifbc-library-wrap { overflow-x: auto; }
.iifbc-library-table { border: 1px solid var(--iifbc-border); border-collapse: collapse; margin: 0; min-width: 760px; width: 100%; }
.iifbc-library-table th,
.iifbc-library-table td { background: transparent !important; border: 0; border-bottom: 1px solid var(--iifbc-border); padding: .85rem 1rem; text-align: left; vertical-align: top; }
.iifbc-library-table th { background: var(--iifbc-surface) !important; color: var(--iifbc-primary); font-size: .88rem; }
.iifbc-library-table tbody tr:nth-child(even) { background: #f7f8f8; }
.iifbc-library-table td:nth-child(1) { width: 24%; }
.iifbc-library-table td:nth-child(2) { width: 34%; }
.iifbc-library-table td:nth-child(3) { width: 22%; }
.iifbc-library-table td:nth-child(4) span { display: block; white-space: nowrap; }
.iifbc-library-table a { color: var(--iifbc-primary); font-weight: 600; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 640px) {
	.iifbc-program summary { gap: .55rem; grid-template-columns: minmax(0, 1fr) 14px; padding: 1rem; }
	.iifbc-program__price { grid-column: 1; grid-row: 2; }
	.iifbc-program__chevron { grid-column: 2; grid-row: 1 / span 2; }
	.iifbc-program__content { padding: 1rem; }
	.iifbc-program__content li { gap: .35rem; grid-template-columns: 1fr; }
	.iifbc-program__content li > span:last-child { color: var(--iifbc-muted); }
}

@media (max-width: 767px) {
	.iifbc-detail-program { border: 0; }
	.iifbc-detail-program > header {
		align-items: flex-start;
		border: 1px solid var(--iifbc-border);
		border-bottom-color: var(--iifbc-accent);
		flex-direction: column;
		gap: .3rem;
		padding: 1rem;
	}
	.iifbc-detail-program > header h2 { font-size: 1.2rem; line-height: 1.3; }
	.iifbc-detail-program > header span { font-size: 1.05rem; }
	.iifbc-table-wrap { overflow: visible; }
	.iifbc-detail-program table,
	.iifbc-detail-program tbody,
	.iifbc-detail-program tr,
	.iifbc-detail-program td { display: block; min-width: 0; width: 100%; }
	.iifbc-detail-program table { border: 1px solid var(--iifbc-border); border-top: 0; }
	.iifbc-detail-program thead {
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		position: absolute;
		width: 1px;
	}
	.iifbc-detail-program tr {
		border-bottom: 1px solid var(--iifbc-border);
		padding: 1rem;
	}
	.iifbc-detail-program tr:last-child { border-bottom: 0; }
	.iifbc-detail-program tr:nth-child(odd) { background: #f7f8f8; }
	.iifbc-detail-program td,
	.iifbc-detail-program td:nth-child(1),
	.iifbc-detail-program td:nth-child(2) {
		background: transparent !important;
		border: 0;
		font-size: .96rem;
		line-height: 1.45;
		padding: .65rem 0 0;
		width: 100%;
	}
	.iifbc-detail-program td::before {
		color: var(--iifbc-primary);
		content: attr(data-label);
		display: block;
		font-size: .72rem;
		font-weight: 700;
		letter-spacing: .04em;
		line-height: 1.3;
		margin: 0 0 .25rem;
		text-transform: uppercase;
	}
	.iifbc-detail-program td:first-child {
		color: #202a33;
		font-size: 1.02rem;
		line-height: 1.4;
		padding-top: 0;
	}
	.iifbc-detail-program td:first-child::before { display: none; }
	.iifbc-detail-program td:nth-child(2),
	.iifbc-detail-program td:nth-child(2) a { overflow-wrap: anywhere; }
	.iifbc-detail-program td:nth-child(3) span { white-space: normal; }
	.iifbc-detail-program td:last-child {
		align-items: center;
		border-top: 1px solid var(--iifbc-border);
		color: var(--iifbc-accent);
		display: flex;
		font-size: 1rem;
		justify-content: space-between;
		margin-top: .75rem;
		padding-top: .7rem;
	}
	.iifbc-detail-program td:last-child::before { margin: 0 1rem 0 0; }
	.iifbc-detail-program td.iifbc-detail-program__empty { display: none; }

	.iifbc-library-wrap { overflow: visible; }
	.iifbc-library-table,
	.iifbc-library-table tbody,
	.iifbc-library-table tr,
	.iifbc-library-table td { display: block; min-width: 0; width: 100%; }
	.iifbc-library-table thead {
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		position: absolute;
		width: 1px;
	}
	.iifbc-library-table tr {
		border-bottom: 1px solid var(--iifbc-border);
		padding: 1rem;
	}
	.iifbc-library-table tr:last-child { border-bottom: 0; }
	.iifbc-library-table td,
	.iifbc-library-table td:nth-child(1),
	.iifbc-library-table td:nth-child(2),
	.iifbc-library-table td:nth-child(3) {
		background: transparent !important;
		border: 0;
		font-size: .96rem;
		line-height: 1.45;
		padding: .65rem 0 0;
		width: 100%;
	}
	.iifbc-library-table td::before {
		color: var(--iifbc-primary);
		content: attr(data-label);
		display: block;
		font-size: .72rem;
		font-weight: 700;
		letter-spacing: .04em;
		line-height: 1.3;
		margin: 0 0 .25rem;
		text-transform: uppercase;
	}
	.iifbc-library-table td:first-child {
		color: #202a33;
		font-size: 1.02rem;
		line-height: 1.4;
		padding-top: 0;
	}
	.iifbc-library-table td:first-child::before { display: none; }
	.iifbc-library-table td:nth-child(4) span { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
	.iifbc-catalog *, .iifbc-catalog *::before, .iifbc-catalog *::after { scroll-behavior: auto !important; transition: none !important; }
}
