/**
 * Skylit dev cache — pattern: tff-episodes-hub
 * Auto-generated on save_post. Do not hand-edit.
 */

.tff-episodes-hub {
		padding-top: var(--padding-48);
		padding-bottom: var(--padding-96);
		}
		
		.tff-episodes-hub__toolbar {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--gap-16);
		width: 100%;
		max-width: 1400px;
		margin-bottom: var(--gap-32);
		}
		
		.tff-episodes-hub__search-wrap {
		flex: 1 1 0;
		min-width: 0;
		display: flex;
		align-items: center;
		gap: 12px;
		background: var(--absolute-black-3);
		border-bottom: var(--border-width-1) solid var(--absolute-black-10);
		padding-inline: 1rem;
		}
		
		img.tff-episodes-hub__search-icon {
		flex-shrink: 0;
		width: 18px;
		height: 18px;
		pointer-events: none;
		display: block;
		filter: brightness(0);
		}
		
		input.tff-episodes-hub__search::-webkit-search-cancel-button {
		-webkit-appearance: none;
		appearance: none;
		width: 16px;
		height: 16px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23050505' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center;
		background-size: 14px 14px;
		cursor: pointer;
		opacity: 1;
		}
		
		input.tff-episodes-hub__search {
		flex: 1 1 0;
		min-width: 0;
		padding: var(--padding-16) var(--padding-24);
		font-family: var(--lead-paragraph-font-family);
		font-size: var(--lead-paragraph);
		color: var(--absolute-black);
		background: transparent;
		border: 0;
		border-radius: 0;
		appearance: none;
		}
		
		input.tff-episodes-hub__search::placeholder {
		color: var(--color-gray-muted);
		font-weight: 300;
		}
		
		select.tff-episodes-hub__select {
		flex: 0 0 auto;
		width: fit-content;
		min-width: 140px;
		font-family: var(--lead-paragraph-font-family);
		font-size: var(--lead-paragraph);
		font-weight: var(--lead-paragraph-font-weight);
		color: var(--absolute-black-gradient);
		background: var(--absolute-black-3);
		border: 0;
		border-bottom: var(--border-width-1) solid var(--absolute-black-10);
		border-radius: 0;
		padding: var(--padding-16) var(--padding-24);
		padding-right: 36px;
		cursor: pointer;
		appearance: none;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231a1a1a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 12px center;
		}
		
		select.tff-episodes-hub__select option {
		background: var(--antique-white);
		color: var(--absolute-black-gradient);
		font-family: var(--lead-paragraph-font-family);
		font-size: var(--lead-paragraph);
		}
		
		.tff-episodes-hub__toolbar select.tff-episodes-hub__select,
		.tff-episodes-hub__toolbar select.tff-episodes-hub__select option {
		color: #050505 !important;
		background-color: var(--absolute-black-3) !important;
		}
		
		.editor-styles-wrapper .tff-episodes-hub__toolbar select.tff-episodes-hub__select {
		-webkit-appearance: menulist;
		appearance: menulist;
		background-image: none;
		}
		
		.tff-episodes-hub__grid-wrap {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--gap-48);
		}
		
		.tff-episodes-hub__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--gap-48);
		width: 100%;
		max-width: 1400px;
		}
		
		@media (min-width: 640px) {
		.tff-episodes-hub__grid {
		grid-template-columns: repeat(3, 1fr);
		}
		}
		
		.tff-episodes-hub__cta {
		align-self: center;
		}
		
		.tff-episodes-hub .tff-grid-card {
		position: relative;
		display: flex;
		flex-direction: column;
		min-height: 200px;
		background: var(--antique-white-lin-grad);
		border: var(--border-width-1) solid var(--absolute-black-10);
		overflow: hidden;
		text-decoration: none;
		color: inherit;
		}
		
		.tff-episodes-hub .tff-grid-card::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: var(--border-width-1);
		background: var(--infrared-red);
		opacity: 0;
		transition: opacity 0.2s ease;
		}
		
		.tff-episodes-hub .tff-grid-card:hover {
		text-decoration: none;
		}
		
		.tff-episodes-hub .tff-grid-card:hover::after {
		opacity: 1;
		}
		
		.tff-episodes-hub .tff-grid-card__image {
		display: flex;
		position: relative;
		width: 100%;
		aspect-ratio: 16/9;
		min-height: 180px;
		background: var(--antique-white-60);
		overflow: hidden;
		}
		
		.tff-episodes-hub .tff-grid-card__image img {
		flex: 1 1 0%;
		min-width: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		display: block;
		}
		
		.tff-episodes-hub .tff-grid-card__content {
		display: flex;
		flex-direction: column;
		gap: var(--gap-16);
		padding: var(--padding-24);
		flex: 1;
		min-height: 0;
		}
		
		.tff-episodes-hub .tff-grid-card__title {
		font-family: var(--h3-small-font-family);
		font-size: var(--h3-small);
		font-weight: var(--h3-small-font-weight);
		line-height: 150%;
		color: var(--absolute-black-gradient);
		margin: 0;
		}
		
		.tff-episodes-hub .tff-grid-card__excerpt {
		font-family: var(--card-excerpt-font-family);
		font-size: var(--card-excerpt);
		font-weight: var(--card-excerpt-font-weight);
		line-height: 150%;
		color: var(--graphite-gray);
		margin: 0;
		min-height: fit-content;
		display: -webkit-box;
		line-clamp: 2;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		}
		
		.tff-episodes-hub .tff-grid-card__link {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-family: var(--button-text-font-family);
		font-size: var(--tag-font-size);
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.02em;
		color: var(--absolute-black-gradient);
		margin-top: auto;
		white-space: nowrap;
		}
		
		.tff-episodes-hub .tff-grid-card__link-text::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2px;
		height: var(--border-width-1);
		background: var(--infrared-red);
		opacity: 0;
		transition: opacity 0.2s ease;
		}
		
		.tff-episodes-hub .tff-grid-card:hover .tff-grid-card__link-text::after {
		opacity: 1;
		}
		
		.tff-episodes-hub .tff-grid-card__link img {
		width: 12px;
		height: 12px;
		flex-shrink: 0;
		}
		
		.tff-episodes-hub .tff-hub-empty-state {
		width: 100%;
		max-width: 1400px;
		padding: var(--padding-48) var(--padding-24);
		}
		
		.tff-episodes-hub .tff-hub-empty-state .tff-grid-card__title {
		margin-bottom: var(--gap-8);
		}
		
		/* Episode card meta: match homepage podcast card (badges + comma-separated tags) */
		.tff-episodes-hub .tff-grid-card__badges {
		display: flex;
		gap: var(--gap-16);
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 0;
		width: 100%;
		}
		
		.tff-episodes-hub .tff-badge {
		font-family: var(--tag-font-family);
		font-size: var(--tag-font-size);
		font-weight: var(--tag-font-weight);
		background: none;
		color: var(--absolute-black-gradient);
		padding: 0;
		}
		
		.tff-episodes-hub .tff-badge--red {
		background: none;
		color: var(--infrared-red);
		text-transform: uppercase;
		}
		
		.tff-episodes-hub .tff-grid-card__tags {
		margin: 0;
		}
		
		@media (min-width: 640px) {
		.tff-episodes-hub .tff-grid-card__content {
		padding: var(--padding-32);
		}
		}