.flh-resource-auto,
.flh-library,
.flh-single-resource,
.flh-resource-auto *,
.flh-library *,
.flh-single-resource * {
	box-sizing: border-box;
}

.flh-site-main {
	width: min(1240px, calc(100% - 40px));
	margin: 0 auto;
	padding: 42px 0 60px;
}

.flh-single-header,
.flh-archive-header {
	max-width: 850px;
	margin: 0 0 30px;
}

.flh-single-header h1 {
	margin: 0;
	color: #17264d;
	font-size: clamp(1.65rem, 3.5vw, 2.45rem);
	line-height: 1.12;
}

.flh-archive-header h1 {
	margin: 0;
	color: #17264d;
	font-size: clamp(2rem, 5vw, 3.25rem);
	line-height: 1.12;
}

.flh-single-kicker {
	margin: 0 0 7px;
	color: #e87924;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.flh-single-excerpt,
.flh-archive-description {
	margin: 14px 0 0;
	color: #59647d;
	font-size: 1.05rem;
	line-height: 1.65;
}

.flh-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	align-items: start;
	gap: 34px;
}

.flh-single-main {
	min-width: 0;
}

.flh-single-description {
	margin: 28px 0;
}

.flh-resource-gallery {
	width: min(100%, 570px);
	margin: 0 auto 30px;
}

.flh-gallery-stage {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #f4f6fa;
	border: 1px solid #dfe4ee;
	border-radius: 16px;
}

.flh-gallery-slide {
	display: none;
	width: 100%;
	height: 100%;
}

.flh-gallery-slide.is-active {
	display: block;
}

.flh-gallery-zoom {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 18px;
	background: #fff;
	border: 0;
	cursor: zoom-in;
}

.flh-gallery-zoom img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
}

.flh-zoom-label {
	position: absolute;
	right: 13px;
	bottom: 13px;
	padding: 7px 10px;
	color: #17264d;
	font-size: 0.78rem;
	font-weight: 700;
	background: rgba(255,255,255,0.94);
	border: 1px solid #dfe4ee;
	border-radius: 999px;
}

.flh-gallery-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 42px;
	height: 42px;
	padding: 0;
	color: #17264d;
	font-size: 2rem;
	line-height: 1;
	background: rgba(255,255,255,0.94);
	border: 1px solid #dfe4ee;
	border-radius: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}

.flh-gallery-arrow--prev { left: 12px; }
.flh-gallery-arrow--next { right: 12px; }

.flh-gallery-thumbs {
	display: flex;
	gap: 9px;
	margin-top: 11px;
	overflow-x: auto;
	padding: 2px 2px 7px;
}

.flh-gallery-thumb {
	flex: 0 0 72px;
	width: 72px;
	height: 88px;
	padding: 3px;
	overflow: hidden;
	background: #fff;
	border: 2px solid #dce2ed;
	border-radius: 8px;
	cursor: pointer;
}

.flh-gallery-thumb.is-active {
	border-color: #e87924;
}

.flh-gallery-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.flh-gallery-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 5;
	color: #73809b;
	background: #f5f7fb;
	border: 2px dashed #ccd4e2;
	border-radius: 16px;
}

.flh-gallery-placeholder strong { color: #17264d; font-size: 1.2rem; }

.flh-lightbox[hidden] { display: none; }

.flh-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	background: rgba(13, 20, 37, 0.9);
}

.flh-lightbox img {
	display: block;
	max-width: 94vw;
	max-height: 92vh;
	object-fit: contain;
	background: #fff;
	box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}

.flh-lightbox-close {
	position: fixed;
	top: 18px;
	right: 22px;
	z-index: 2;
	width: 46px;
	height: 46px;
	padding: 0;
	color: #17264d;
	font-size: 2rem;
	line-height: 1;
	background: #fff;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

body.flh-lightbox-open { overflow: hidden; }

.flh-resource-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	align-items: start;
	gap: 26px;
}

.flh-resource-main,
.flh-library-results {
	min-width: 0;
}

.flh-resource-card__image {
	position: relative;
}

.flh-card-premium {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 9px;
	color: #fff;
	background: #17264d;
	border-radius: 999px;
	box-shadow: 0 3px 10px rgba(23, 38, 77, 0.24);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1;
}

.flh-resource-details,
.flh-downloads,
.flh-resource-share,
.flh-related-resources,
.flh-related-articles {
	width: 100%;
	margin: 32px 0;
}

.flh-resource-details {
	padding: 24px;
	background: #fff8e8;
	border: 1px solid #f7dfad;
	border-radius: 16px;
}

.flh-resource-details h2,
.flh-downloads h2,
.flh-resource-share h2,
.flh-related-resources h2,
.flh-related-articles h2 {
	margin: 0 0 18px;
	color: #17264d;
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	line-height: 1.25;
}

.flh-premium-lock {
	padding: 24px;
	background: #fff8e8;
	border: 1px solid #f2d38d;
	border-radius: 16px;
}

.flh-locked-downloads {
	margin-top: 18px;
	padding: 20px;
	background: #fff;
	border: 1px solid #efd18d;
	border-radius: 12px;
}

.flh-locked-downloads h3 {
	margin: 0 0 10px;
	color: #17264d;
	font-size: 1.3rem;
}

.flh-locked-downloads ul {
	display: grid;
	gap: 7px;
	margin: 12px 0;
	padding: 0;
	list-style: none;
}

.flh-resource-gallery--watermarked .flh-gallery-slide::after,
.flh-resource-gallery--watermarked .flh-lightbox::after {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 6;
	width: 125%;
	padding: 12px 0;
	color: rgba(255, 255, 255, 0.9);
	background: rgba(23, 38, 77, 0.62);
	font-size: clamp(0.9rem, 3vw, 1.45rem);
	font-weight: 900;
	letter-spacing: 0.12em;
	text-align: center;
	text-transform: uppercase;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
	content: "Fun Learning Hub • Preview";
	transform: translate(-50%, -50%) rotate(-18deg);
	pointer-events: none;
}

.flh-resource-gallery--watermarked .flh-gallery-slide {
	position: relative;
}

.flh-premium-label {
	display: inline-block;
	margin-bottom: 8px;
	padding: 5px 9px;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	background: #e87924;
	border-radius: 999px;
}

.flh-subscribe-button,
.flh-linked-blog a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 17px;
	color: #fff !important;
	font-weight: 700;
	background: #17264d;
	border-radius: 9px;
	text-decoration: none !important;
}

.flh-linked-blog {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 5px 18px;
	margin: 26px 0;
	padding: 19px 21px;
	background: #f4f7fc;
	border-left: 4px solid #e87924;
	border-radius: 10px;
}

.flh-linked-blog > span {
	color: #e87924;
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.flh-linked-blog > strong {
	grid-column: 1;
	color: #17264d;
	font-size: 1.05rem;
}

.flh-linked-blog a {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.flh-resource-share {
	padding: 20px;
	background: #fff;
	border: 1px solid #e0e5ee;
	border-radius: 14px;
}

.flh-share-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.flh-share-buttons a,
.flh-share-buttons button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	color: #17264d !important;
	font: inherit;
	font-size: 0.88rem;
	font-weight: 700;
	background: #fff8e8;
	border: 1px solid #f2dfb8;
	border-radius: 8px;
	text-decoration: none !important;
	cursor: pointer;
}

.flh-share-buttons svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: currentColor;
}

.flh-share-buttons [data-tooltip]::after {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 9px);
	z-index: 5;
	padding: 6px 9px;
	color: #fff;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	content: attr(data-tooltip);
	background: #17264d;
	border-radius: 6px;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 4px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.flh-share-buttons [data-tooltip]:hover::after,
.flh-share-buttons [data-tooltip]:focus-visible::after {
	opacity: 1;
	transform: translate(-50%, 0);
}

.flh-share-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.flh-share-buttons a:hover,
.flh-share-buttons button:hover {
	color: #fff !important;
	background: #e87924;
}

.flh-share-status {
	min-height: 1.2em;
	margin: 8px 0 0;
	color: #34743c;
	font-size: 0.82rem;
	font-weight: 700;
}

.flh-collection-browser {
	width: 100%;
	margin: 26px 0 34px;
	padding: 22px;
	background: #fff8e8;
	border: 1px solid #f2dfb8;
	border-radius: 16px;
}

.flh-collection-browser__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.flh-collection-browser__title > span {
	display: block;
	margin-bottom: 3px;
	color: #e87924;
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.flh-collection-browser__heading h2 {
	margin: 0;
	color: #17264d;
	font-size: clamp(1.3rem, 3vw, 1.65rem);
}

.flh-collection-folders {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.flh-collection-folders--carousel {
	grid-template-columns: none;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 28px) / 3);
	overflow-x: auto;
	overflow-y: hidden;
	padding: 11px 3px 12px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.flh-collection-folders--carousel .flh-collection-folder {
	scroll-snap-align: start;
}

.flh-collection-folder {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 205px;
	padding: 20px 13px 13px;
	color: #17264d !important;
	background: #ffd568;
	border: 1px solid #efba35;
	border-radius: 10px 14px 14px 14px;
	box-shadow: 0 7px 18px rgba(23, 38, 77, 0.10);
	text-decoration: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.flh-collection-folder::before {
	position: absolute;
	left: -1px;
	top: -11px;
	width: 42%;
	height: 18px;
	content: '';
	background: #ffd568;
	border: 1px solid #efba35;
	border-bottom: 0;
	border-radius: 9px 9px 0 0;
}

.flh-collection-folder:hover,
.flh-collection-folder:focus-visible {
	color: #17264d !important;
	transform: translateY(-3px);
	box-shadow: 0 12px 25px rgba(23, 38, 77, 0.15);
}

.flh-folder-previews {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 90px;
	margin-bottom: 12px;
}

.flh-folder-page {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 83px;
	margin: 0 -10px;
	overflow: hidden;
	color: #8a94aa;
	font-size: 0.72rem;
	font-weight: 800;
	background: #fff;
	border: 1px solid #d9deea;
	border-radius: 4px;
	box-shadow: 0 4px 10px rgba(23, 38, 77, 0.14);
	transform: rotate(-5deg);
}

.flh-folder-page:nth-child(2) {
	z-index: 2;
	transform: translateY(-5px);
}

.flh-folder-page:nth-child(3) {
	transform: rotate(5deg);
}

.flh-folder-page img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.flh-folder-page--empty {
	background: linear-gradient(#fff 0 13px, #e8ecf4 13px 15px, #fff 15px 27px, #e8ecf4 27px 29px, #fff 29px);
}

.flh-folder-info {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.flh-folder-info strong {
	font-size: 1rem;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.flh-folder-info small {
	flex: 0 0 auto;
	color: #67521d;
}

.flh-folder-action {
	margin-top: auto;
	padding-top: 9px;
	color: #8a4c0d;
	font-size: 0.82rem;
	font-weight: 800;
}

body.flh-premium-subscriber ins.adsbygoogle,
body.flh-premium-subscriber .adsbygoogle,
body.flh-premium-subscriber .google-auto-placed,
body.flh-premium-subscriber [data-ad-client] {
	display: none !important;
}

.flh-resource-details dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 28px;
	margin: 0;
}

.flh-detail-row {
	display: grid;
	grid-template-columns: minmax(110px, 0.8fr) minmax(0, 1.2fr);
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid rgba(23, 38, 77, 0.12);
}

.flh-detail-row dt {
	color: #17264d;
	font-weight: 700;
}

.flh-detail-row dd {
	min-width: 0;
	margin: 0;
	color: #3f4964;
	overflow-wrap: anywhere;
}

.flh-downloads {
	padding: 25px;
	text-align: center;
	background: #f4f8ff;
	border: 2px dashed #b8caee;
	border-radius: 16px;
}

.flh-download-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.flh-download-choice {
	display: flex;
	flex: 1 1 220px;
	max-width: 310px;
	flex-direction: column;
	align-items: stretch;
}

.flh-download-file-size {
	display: block;
	margin: 7px 0 0;
	color: #737b88;
	font-size: 0.84rem;
	font-style: italic;
	font-weight: 400;
	line-height: 1.35;
	text-align: center;
}

.flh-early-access-notice {
	display: grid;
	gap: 4px;
	max-width: 680px;
	margin: 0 auto 18px;
	padding: 13px 16px;
	color: #5b3a00;
	background: #fff5d8;
	border: 1px solid #f0c96c;
	border-radius: 11px;
}

.flh-early-access-notice strong {
	color: #9a4a00;
}

.flh-download-button,
.flh-filter-actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	color: #fff !important;
	font-weight: 700;
	line-height: 1.2;
	background: #e87924;
	border: 0;
	border-radius: 10px;
	box-shadow: none;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.flh-download-button:hover,
.flh-download-button:focus-visible,
.flh-filter-actions button:hover,
.flh-filter-actions button:focus-visible {
	color: #fff !important;
	background: #c85e13;
	transform: translateY(-1px);
}

.flh-download-note {
	margin: 13px 0 0;
	color: #5d6680;
	font-size: 0.88rem;
}

.flh-resource-sidebar,
.flh-library-sidebar {
	min-width: 0;
	padding: 20px;
	background: #fff;
	border: 1px solid #e0e5ee;
	border-radius: 14px;
	box-shadow: 0 5px 18px rgba(23, 38, 77, 0.06);
}

.flh-resource-sidebar {
	position: sticky;
	top: 24px;
	margin: 0;
}

.flh-resource-sidebar > h2,
.flh-library-sidebar h2 {
	margin: 0 0 17px;
	color: #17264d;
	font-size: 1.25rem;
}

.flh-sidebar-group + .flh-sidebar-group {
	margin-top: 17px;
}

.flh-sidebar-group h3 {
	margin: 0 0 7px;
	color: #17264d;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.flh-sidebar-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.flh-sidebar-tags a {
	display: inline-block;
	padding: 5px 9px;
	color: #4c5773;
	font-size: 0.78rem;
	background: #f4f7fc;
	border-radius: 999px;
	text-decoration: none !important;
}

.flh-sidebar-tags a:hover,
.flh-sidebar-tags a:focus-visible {
	color: #fff;
	background: #e87924;
}

.flh-browse-all {
	display: block;
	margin-top: 20px;
	padding-top: 15px;
	color: #e87924 !important;
	font-weight: 700;
	border-top: 1px solid #e6e9f0;
	text-decoration: none !important;
}

.flh-learning-information {
	margin: 32px 0;
	padding: 24px;
	background: #fff;
	border: 1px solid #e0e5ee;
	border-radius: 16px;
}

.flh-learning-information > h2 {
	margin: 0 0 18px;
	color: #17264d;
	font-size: clamp(1.35rem, 3vw, 1.75rem);
}

.flh-learning-group + .flh-learning-group {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid #e6eaf1;
}

.flh-learning-group h3 {
	margin: 0 0 10px;
	color: #17264d;
	font-size: 1.08rem;
}

.flh-learning-group ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.flh-learning-group li + li {
	margin-top: 13px;
}

.flh-learning-group li > a {
	color: #e06c1c;
	text-decoration: none;
}

.flh-learning-group p {
	margin: 4px 0 0;
	color: #566178;
	font-size: 0.92rem;
	line-height: 1.55;
}

.flh-collection-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 32px 0;
}

.flh-collection-link {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 16px;
	color: #17264d !important;
	background: #fff;
	border: 1px solid #dfe5f2;
	border-radius: 12px;
	text-decoration: none !important;
}

.flh-collection-link--next {
	grid-column: 2;
	text-align: right;
}

.flh-collection-link span {
	margin-bottom: 5px;
	color: #e87924;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.flh-collection-link strong {
	overflow-wrap: anywhere;
}

.flh-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

/* The library shortcode controls this desktop value with its columns setting. */
.flh-library .flh-resource-grid {
	grid-template-columns: repeat(var(--flh-library-columns, 6), minmax(0, 1fr));
}

.flh-related-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.flh-related-heading h2 {
	margin: 0;
}

.flh-carousel-controls {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
}

.flh-carousel-controls button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	color: #fff;
	font-size: 1.15rem;
	background: #17264d;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.flh-carousel-controls button:hover,
.flh-carousel-controls button:focus-visible {
	background: #e87924;
}

.flh-related-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 80px) / 5);
	gap: 20px;
	overflow-x: auto;
	padding: 3px 3px 14px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: #e87924 #eef1f6;
	overscroll-behavior-inline: contain;
}

.flh-related-track .flh-resource-card {
	scroll-snap-align: start;
}

.flh-carousel-hint {
	margin: 8px 0 0;
	color: #69738a;
	font-size: 0.82rem;
	text-align: right;
}

.flh-blog-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.flh-blog-card {
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e0e5ee;
	border-radius: 14px;
	box-shadow: 0 5px 18px rgba(23, 38, 77, 0.07);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.flh-blog-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 9px 24px rgba(23, 38, 77, 0.12);
}

.flh-blog-card__image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #fff8e8;
	text-decoration: none !important;
}

.flh-blog-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.flh-blog-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 15px;
	color: #17264d;
	font-weight: 800;
	text-align: center;
}

.flh-blog-card__body {
	padding: 15px;
}

.flh-blog-card__category {
	display: block;
	margin-bottom: 5px;
	color: #e87924;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.flh-blog-card h3 {
	margin: 0 0 10px;
	font-size: 1rem;
	line-height: 1.35;
}

.flh-blog-card h3 a {
	color: #17264d;
	text-decoration: none !important;
	overflow-wrap: anywhere;
}

.flh-resource-card {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e0e5ee;
	border-radius: 14px;
	box-shadow: 0 5px 18px rgba(23, 38, 77, 0.07);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.flh-resource-card:focus-within {
	box-shadow: 0 9px 24px rgba(23, 38, 77, 0.12);
}
@media (hover: hover) and (pointer: fine) {
	.flh-resource-card:hover { position:relative; z-index:2; transform:translateY(-3px) scale(1.025); border-color:#e87924; box-shadow:0 12px 28px rgba(23,38,77,.16); }
}

.flh-resource-card__image {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f4f6fa;
}

.flh-resource-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
}
.flh-resource-card__image .flh-card-preview-slide { position:absolute; inset:0; background:#f4f6fa; transform:translateX(100%); transition:transform .45s cubic-bezier(.22,.61,.36,1); pointer-events:none; }
.flh-resource-card__image .flh-card-preview-slide.is-visible { transform:translateX(0); }
.flh-resource-card__image .flh-card-preview-slide.is-exiting { transform:translateX(-100%); }
.flh-resource-card__image .flh-card-preview-slide.is-preparing { transform:translateX(100%); transition:none; }
.flh-resource-card__image .flh-card-premium { z-index:3; }
@media (prefers-reduced-motion: reduce) {
	.flh-resource-card, .flh-resource-card__image .flh-card-preview-slide { transition:none; }
	.flh-resource-card:hover { transform:none; }
}

.flh-card-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #8b96ae;
	font-size: 1.5rem;
	font-weight: 800;
}

.flh-resource-card__body {
	padding: 16px;
}

.flh-card-kicker {
	display: block;
	margin-bottom: 5px;
	color: #e87924;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.flh-resource-card h3 {
	margin: 0 0 10px;
	font-size: 1.05rem;
	line-height: 1.35;
}

.flh-resource-card h3 a {
	color: #17264d;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.flh-featured-resources {
	width: 100%;
	margin: 34px 0;
}

.flh-featured-title {
	margin: 0 0 20px;
	color: #17264d;
	font-size: clamp(1.55rem, 3vw, 2rem);
	text-align: center;
}

.flh-featured-grid {
	grid-template-columns: repeat(var(--flh-feature-columns, 4), minmax(0, 1fr));
}

.flh-featured-footer {
	margin-top: 24px;
	text-align: center;
}

.flh-library-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 20px;
	color: #fff !important;
	background: #e87924;
	border-radius: 9px;
	font-weight: 700;
	text-decoration: none !important;
}

.flh-library-button:hover,
.flh-library-button:focus-visible {
	color: #fff !important;
	background: #17264d;
}

.flh-card-link {
	color: #e87924 !important;
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none !important;
}

.flh-library-filters {
	margin: 0;
}

.flh-library--with-sidebar {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	align-items: start;
	gap: 28px;
}

.flh-library-sidebar {
	position: sticky;
	top: 24px;
	background: #fff8e8;
	border-color: #f2dfb8;
}

.flh-filter-search label {
	display: block;
	margin-bottom: 7px;
	color: #17264d;
	font-weight: 700;
}

.flh-filter-search input,
.flh-filter-selects select {
	width: 100%;
	min-height: 45px;
	padding: 9px 11px;
	color: #263453;
	background: #fff;
	border: 1px solid #c9d0df;
	border-radius: 8px;
}

.flh-filter-search__row {
	display: flex;
	align-items: stretch;
	gap: 7px;
}

.flh-filter-search__row input {
	min-width: 0;
}

.flh-filter-search__row .flh-search-button {
	flex: 0 0 auto;
	min-height: 45px;
	padding: 9px 13px;
	color: #fff;
	background: #e87924;
	border: 0;
	border-radius: 8px;
	font-weight: 700;
	cursor: pointer;
}

.flh-filter-search__row .flh-search-button:hover,
.flh-filter-search__row .flh-search-button:focus-visible {
	background: #17264d;
}

.flh-filter-selects {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 12px;
}

.flh-filter-selects label {
	display: block;
	margin: 3px 0 -5px;
	color: #4e5871;
	font-size: 0.76rem;
	font-weight: 700;
}

.flh-filter-actions {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 14px;
}

.flh-filter-actions a {
	color: #5b6273;
	font-size: 0.9rem;
}

.flh-result-count {
	margin: 0 0 16px;
	color: #5b6273;
	font-size: 0.92rem;
}

.flh-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px;
	margin-top: 30px;
}

.flh-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 7px 10px;
	color: #17264d;
	background: #fff;
	border: 1px solid #d8deea;
	border-radius: 8px;
	text-decoration: none;
}

.flh-pagination .current {
	color: #fff;
	background: #17264d;
	border-color: #17264d;
}

.flh-no-results {
	padding: 28px;
	text-align: center;
	background: #f7f8fb;
	border-radius: 12px;
}

@media (max-width: 1100px) {
	.flh-library .flh-resource-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.flh-blog-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.flh-related-track {
		grid-auto-columns: calc((100% - 40px) / 3);
	}
}

@media (max-width: 900px) {
	.flh-collection-folders {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.flh-collection-folders--carousel {
		grid-template-columns: none;
		grid-auto-columns: calc((100% - 14px) / 2);
	}

	.flh-featured-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.flh-resource-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.flh-library .flh-resource-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.flh-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.flh-related-track {
		grid-auto-columns: calc((100% - 20px) / 2);
	}

	.flh-resource-layout,
	.flh-single-layout,
	.flh-library--with-sidebar {
		grid-template-columns: 1fr;
	}

	.flh-resource-sidebar,
	.flh-library-sidebar {
		position: static;
	}

	.flh-filter-selects {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.flh-resource-details dl {
		grid-template-columns: 1fr;
	}
}

.flh-download-button--locked {
	appearance: none;
	border: 0;
	font: inherit;
	cursor: pointer;
}

.flh-download-button--locked::after {
	content: "Premium only";
	margin-left: auto;
	padding: 3px 7px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	font-size: 11px;
	font-weight: 700;
}

.flh-early-access .flh-download-button--locked::after {
	content: "Early access";
}

.flh-premium-modal[hidden] {
	display: none !important;
}

.flh-premium-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	padding: 20px;
}

.flh-premium-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(16, 28, 54, 0.72);
	backdrop-filter: blur(3px);
}

.flh-premium-modal__panel {
	position: relative;
	z-index: 1;
	width: min(100%, 560px);
	padding: 34px;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 24px 70px rgba(8, 18, 42, 0.3);
	text-align: center;
}

.flh-premium-modal__panel h2 {
	margin: 14px 0 10px;
}

.flh-premium-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f2f4f8;
	color: #17264d;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.flh-premium-modal__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 22px;
}

.flh-premium-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 18px;
	border: 2px solid #e87924;
	border-radius: 9px;
	color: #b94b00;
	font-weight: 700;
	text-decoration: none;
}

body.flh-premium-modal-open {
	overflow: hidden;
}

.flh-member-account {
	width: min(100%, 980px);
	margin: 34px auto;
}

.flh-account-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.flh-account-card,
.flh-account-message,
.flh-account-error {
	margin: 18px 0;
	padding: 24px;
	border: 1px solid #dde3ec;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(23, 38, 77, 0.07);
}

.flh-account-message { border-left: 5px solid #2b9b62; }
.flh-account-error { border-left: 5px solid #c43d3d; }
.flh-account-card label { display: grid; gap: 6px; font-weight: 700; }
.flh-account-card input[type="text"],
.flh-account-card input[type="email"],
.flh-account-card input[type="password"] {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid #bac4d3;
	border-radius: 8px;
}
.flh-honeypot { position: absolute !important; left: -10000px !important; }

.flh-auth-shell { width: min(100% - 24px, 620px); margin: 42px auto; }
.flh-auth-card { padding: clamp(25px, 5vw, 46px); border: 1px solid #dde5ef; border-radius: 24px; background: linear-gradient(145deg,#fff8e9,#f5fbff 55%,#fff); box-shadow: 0 20px 50px rgba(23,38,77,.11); color:#17264d; text-align:center; }
.flh-auth-icon { display:grid; place-items:center; width:68px; height:68px; margin:0 auto 14px; border-radius:20px; background:#fff0c8; font-size:34px; transform:rotate(-3deg); }
.flh-auth-card h1 { margin:0 0 9px; font-size:clamp(28px,5vw,40px); }
.flh-auth-card > p { color:#60708a; }
.flh-auth-form, .flh-auth-card #loginform { display:grid; gap:15px; margin-top:25px; text-align:left; }
.flh-auth-form label, .flh-auth-card #loginform label { display:grid; gap:6px; color:#263753; font-weight:750; }
.flh-auth-form input[type="text"], .flh-auth-form input[type="email"], .flh-auth-form input[type="password"], .flh-auth-card #loginform input[type="text"], .flh-auth-card #loginform input[type="password"] { width:100%; padding:13px 14px; border:1px solid #bdc8d8; border-radius:10px; background:#fff; }
.flh-login-remember { display:flex!important; grid-template-columns:none!important; align-items:center; gap:9px!important; width:max-content; font-weight:700; cursor:pointer; }
.flh-login-remember input[type="checkbox"], .flh-auth-card #loginform input[type="checkbox"] { flex:0 0 18px; width:18px!important; height:18px; margin:0; padding:0; accent-color:#e87924; }
.flh-auth-card #wp-submit { width:100%; padding:13px 18px; border:0; border-radius:10px; background:#e87924; color:#fff; font-weight:800; cursor:pointer; }
.flh-auth-switch { margin-top:22px!important; font-size:14px; }
.flh-auth-switch a { color:#c65308; font-weight:800; }

.flh-dashboard-hero { display:flex; align-items:center; gap:18px; margin:20px 0; padding:28px; border-radius:22px; background:linear-gradient(125deg,#17264d,#385b98); color:#fff; box-shadow:0 16px 38px rgba(23,38,77,.18); }
.flh-dashboard-hero img { border:4px solid rgba(255,255,255,.8); border-radius:50%; }
.flh-dashboard-hero span { color:#ffd47a; font-size:13px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.flh-dashboard-hero h2 { margin:3px 0 4px; color:#fff; font-size:clamp(27px,4vw,38px); }
.flh-dashboard-hero p { margin:0; color:#e9f1ff; }
.flh-dashboard-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.flh-dashboard-stats > div { display:grid; gap:4px; padding:18px; border:1px solid #e0e6ef; border-radius:15px; background:#fff; text-align:center; box-shadow:0 7px 20px rgba(23,38,77,.06); }
.flh-dashboard-stats strong { color:#e06f19; font-size:24px; }
.flh-dashboard-stats span { color:#66758c; font-size:13px; font-weight:700; }
.flh-account-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.flh-account-text-link { color:#c65308; font-weight:750; }
.flh-download-history { margin-top:24px; padding:24px; border:1px solid #dde5ef; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(23,38,77,.07); }
.flh-download-history__head, .flh-download-history__head > div { display:flex; align-items:center; gap:10px; }
.flh-download-history__head { justify-content:space-between; margin-bottom:17px; }
.flh-download-history__head h2 { margin:0; }
.flh-download-history__head > a { color:#c65308; font-weight:800; }
.flh-download-history__list { display:grid; gap:10px; }
.flh-download-history__list article { display:flex; align-items:center; gap:13px; padding:11px; border-radius:12px; background:#f7f9fc; }
.flh-download-history__thumb { flex:0 0 58px; width:58px; height:58px; overflow:hidden; border-radius:9px; background:#eef2f7; }
.flh-download-history__thumb img { width:100%; height:100%; object-fit:cover; }
.flh-download-history__list h3 { margin:0 0 4px; font-size:16px; }
.flh-download-history__list p { margin:0; color:#66758c; font-size:13px; }
.flh-download-history__empty { padding:30px 12px; color:#66758c; text-align:center; }
.flh-download-history__empty > span { font-size:42px; }

.flh-membership-plans {
	width: min(100%, 1040px);
	margin: 48px auto;
	padding: 42px clamp(18px, 4vw, 46px);
	border: 1px solid #e3e8f0;
	border-radius: 26px;
	background: linear-gradient(145deg, #fffaf1 0%, #f6f9ff 46%, #ffffff 100%);
	box-shadow: 0 20px 55px rgba(23, 38, 77, .09);
	color: #17264d;
}

.flh-membership-intro {
	max-width: 760px;
	margin: 0 auto 38px;
	text-align: center;
}

.flh-membership-intro h1 {
	margin: 12px 0 10px;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.12;
	letter-spacing: -.025em;
}

.flh-membership-intro p {
	max-width: 650px;
	margin: 0 auto;
	color: #5d6980;
	font-size: 17px;
	line-height: 1.65;
}

.flh-membership-intro > span {
	color: #d85f0b;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.flh-plan-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

.flh-plan-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 34px;
	overflow: visible;
	border: 1px solid #dce3ee;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 13px 34px rgba(23, 38, 77, .09);
	transition: transform .2s ease, box-shadow .2s ease;
}

.flh-plan-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 30px;
	right: 30px;
	height: 5px;
	border-radius: 0 0 8px 8px;
	background: #8ba3c7;
}

.flh-plan-card--individual::before { background: #f0a11f; }
.flh-plan-card--educator::before { background: #28a69a; }
.flh-plan-card--school::before { background: #7067cf; }
.flh-plan-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(23, 38, 77, .13); }

.flh-plan-card h2 {
	margin: 4px 0 18px;
	font-size: clamp(25px, 3vw, 32px);
	line-height: 1.2;
	word-break: normal;
	overflow-wrap: normal;
}

.flh-plan-card--individual {
	border: 3px solid #f0a11f;
}

.flh-plan-popular {
	position: absolute;
	top: -16px;
	right: 20px;
	padding: 6px 13px;
	border-radius: 999px;
	background: #f0a11f;
	color: #17264d;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.flh-plan-price { display: flex; align-items: baseline; gap: 9px; margin: 0 0 12px; white-space: nowrap; }
.flh-plan-price strong { font-size: clamp(38px, 5vw, 52px); line-height: 1; letter-spacing: -.035em; }
.flh-plan-price span { color: #667085; }
.flh-plan-card ul { flex: 1; margin: 18px 0 28px; padding: 20px 0 0; border-top: 1px solid #edf0f5; list-style: none; }
.flh-plan-card li { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0; color: #34425c; font-size: 16px; line-height: 1.48; }
.flh-plan-card li span { flex: 0 0 22px; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #eaf7f1; color: #248455; font-size: 13px; font-weight: 900; }
.flh-plan-button {
	display: block;
	padding: 15px 18px;
	border-radius: 11px;
	background: #e87924;
	color: #fff;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 8px 18px rgba(232, 121, 36, .2);
}
.flh-plan-button:hover, .flh-plan-button:focus-visible { background: #cf6112; color: #fff; transform: translateY(-1px); }
.flh-current-plan-notice { display:flex; align-items:center; gap:14px; max-width:760px; margin:0 auto 30px; padding:17px 20px; border:1px solid #9fd9c5; border-radius:15px; background:#effbf6; color:#173f35; box-shadow:0 8px 22px rgba(36,132,85,.08); }
.flh-current-plan-notice > span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#248455; color:#fff; font-weight:900; }
.flh-current-plan-notice strong { display:block; font-size:17px; }
.flh-current-plan-notice p { margin:3px 0 0; color:#42675e; font-size:14px; line-height:1.45; }
.flh-plan-card.is-current { border:3px solid #248455; box-shadow:0 18px 42px rgba(36,132,85,.14); }
.flh-plan-current-badge { position:absolute; top:-16px; right:20px; padding:6px 13px; border-radius:999px; background:#248455; color:#fff; font-size:12px; font-weight:800; text-transform:uppercase; }
.flh-plan-button--disabled, .flh-plan-button--disabled:hover { background:#e7ebf1; color:#596579; box-shadow:none; cursor:default; transform:none; }
.flh-plan-note { max-width: 820px; margin: 30px auto 0; padding: 16px 20px; border-radius: 12px; background: rgba(255,255,255,.78); color: #667085; font-size: 13px; line-height: 1.55; text-align: center; }

.flh-account-widget {
	padding: 18px;
	border: 1px solid #dce3ee;
	border-radius: 13px;
	background: #fff;
	color: #17264d;
}
.flh-account-widget__title { margin: 0 0 12px; font-size: 20px; }
.flh-account-widget__member { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.flh-account-widget__member img { border-radius: 50%; }
.flh-account-widget__member span { display: block; color: #667085; font-size: 13px; }
.flh-account-widget__actions { display: grid; gap: 8px; }
.flh-account-widget__actions a { padding: 10px 12px; border-radius: 8px; background: #e87924; color: #fff; font-weight: 700; text-align: center; text-decoration: none; }
.flh-account-widget__actions a.flh-account-widget__secondary { background: #eef2f8; color: #17264d; }

.flh-header-account-source { display:none!important; }
.flh-header-account { position:relative; z-index:10020; display:inline-flex; align-items:center; margin:5px 8px; font-family:inherit; }
.flh-header-account__toggle { display:inline-flex!important; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:8px 14px!important; border-radius:999px; background:#e87924!important; color:#fff!important; font-size:14px; font-weight:800!important; line-height:1.2; text-decoration:none!important; box-shadow:0 6px 16px rgba(232,121,36,.22); }
.flh-header-account__toggle:hover, .flh-header-account__toggle:focus-visible { background:#ca5f12!important; color:#fff!important; }
.flh-header-account__arrow { font-size:11px; transition:transform .18s ease; }
.flh-header-account__dropdown { position:absolute; top:calc(100% + 8px); right:0; z-index:10030; display:grid; min-width:245px; padding:8px; visibility:hidden; opacity:0; border:1px solid #dce3ee; border-radius:13px; background:#fff; box-shadow:0 18px 42px rgba(23,38,77,.18); transform:translateY(-5px); transition:opacity .16s ease, transform .16s ease, visibility .16s ease; }
.flh-header-account:hover .flh-header-account__dropdown, .flh-header-account:focus-within .flh-header-account__dropdown { visibility:visible; opacity:1; transform:translateY(0); }
.flh-header-account:hover .flh-header-account__arrow, .flh-header-account:focus-within .flh-header-account__arrow { transform:rotate(180deg); }
.flh-header-account__dropdown a { display:block!important; padding:10px 12px!important; border-radius:8px; color:#243553!important; background:transparent!important; font-size:14px!important; font-weight:700!important; line-height:1.3!important; text-decoration:none!important; }
.flh-header-account__dropdown a:hover, .flh-header-account__dropdown a:focus-visible { background:#fff3e7!important; color:#c75a0c!important; }
.flh-header-account__plan { display:block; margin:0 0 5px; padding:10px 12px; border-radius:8px; background:#effbf6; color:#216949; font-size:13px; font-weight:800; line-height:1.35; }
.flh-header-account--align-left .flh-header-account__dropdown { left:0; right:auto; }
.flh-header-account--align-center .flh-header-account__dropdown { left:50%; right:auto; transform:translate(-50%, -5px); }
.flh-header-account--align-center:hover .flh-header-account__dropdown, .flh-header-account--align-center:focus-within .flh-header-account__dropdown { transform:translate(-50%, 0); }
#masthead .site-top-header-wrap, #masthead .site-top-header-wrap .site-header-row-container-inner, #masthead .site-top-header-wrap [class*="site-header-section-"] { overflow:visible!important; }
.flh-header-account--mobile { display:none; }

@media (max-width:1024px) {
	.flh-header-account--desktop { display:none; }
	.flh-header-account--mobile { display:inline-flex; }
	.flh-header-account { margin:5px; }
	.flh-header-account__toggle { min-height:40px; padding:8px 11px!important; font-size:13px; }
	.flh-header-account__dropdown { position:absolute; min-width:230px; max-width:calc(100vw - 24px); }
}

@media (max-width: 1024px) {
	.flh-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.flh-premium-modal__panel { padding: 30px 18px 22px; }
	.flh-premium-modal__actions { display: grid; }
	.flh-account-columns { grid-template-columns: 1fr; }
	.flh-account-dashboard-grid, .flh-dashboard-stats { grid-template-columns:1fr; }
	.flh-dashboard-hero { align-items:flex-start; padding:22px 18px; }
	.flh-download-history__head { align-items:flex-start; flex-direction:column; }
	.flh-plan-grid { grid-template-columns: 1fr; }
	.flh-membership-plans { margin: 24px auto; padding: 32px 14px; border-radius: 18px; }
	.flh-plan-card { padding: 28px 22px; }
	.flh-plan-card:hover { transform: none; }
	.flh-featured-grid {
		grid-template-columns: 1fr;
	}

	.flh-site-main {
		width: min(100% - 24px, 1240px);
		padding-top: 28px;
	}

	.flh-lightbox { padding: 15px; }

	.flh-resource-details,
	.flh-downloads,
	.flh-resource-share,
	.flh-collection-browser,
	.flh-library-filters,
	.flh-learning-information {
		padding: 16px;
		border-radius: 13px;
	}

	.flh-linked-blog {
		grid-template-columns: 1fr;
	}

	.flh-linked-blog a,
	.flh-linked-blog > strong {
		grid-column: 1;
		grid-row: auto;
	}

	.flh-share-buttons a,
	.flh-share-buttons button {
		width: 48px;
		height: 48px;
	}

	.flh-collection-folders {
		grid-template-columns: 1fr;
	}

	.flh-collection-folders--carousel {
		grid-template-columns: none;
		grid-auto-columns: minmax(220px, 88%);
	}

	.flh-collection-browser__heading {
		align-items: flex-end;
	}

	.flh-resource-grid,
	.flh-filter-selects,
	.flh-collection-nav {
		grid-template-columns: 1fr;
	}

	.flh-library .flh-resource-grid {
		grid-template-columns: 1fr;
	}

	.flh-blog-grid {
		grid-template-columns: 1fr;
	}

	.flh-related-track {
		grid-auto-columns: minmax(240px, 88%);
	}

	.flh-related-heading {
		align-items: flex-end;
	}

	.flh-carousel-controls button {
		width: 38px;
		height: 38px;
	}

	.flh-carousel-hint {
		text-align: left;
	}

	.flh-collection-link--next {
		grid-column: 1;
		text-align: left;
	}

	.flh-detail-row {
		grid-template-columns: 1fr;
		gap: 3px;
	}

	.flh-download-buttons,
	.flh-download-button,
	.flh-download-choice,
	.flh-filter-actions button {
		width: 100%;
	}

	.flh-filter-actions {
		align-items: stretch;
		flex-direction: column;
	}
}
