/**
 * TCC Sermons v3 — CCI-style interaction, adapted to TCCC's navy/gold brand.
 */
.tcc-sermons-app,.tcc-single-page{
	--tcc-navy:#101842;
	--tcc-navy-2:#151e50;
	--tcc-navy-3:#1c285f;
	--tcc-gold:#D4A64A;
	--tcc-white:#fff;
	--tcc-text:#f5f7ff;
	--tcc-muted:#9da5c2;
	--tcc-line:rgba(255,255,255,.08);
	--tcc-card:rgba(255,255,255,.035);
	--tcc-radius:12px;
	color:var(--tcc-text);
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tcc-sermons-app{
	position:relative;
	z-index:1;
	background:var(--tcc-navy);
	min-height:650px;
	overflow:hidden;
}
.tcc-library-header{
	position:relative;
	z-index:2;
	height:64px;background:#090c22;color:#fff;display:grid;grid-template-columns:240px minmax(220px,420px) 1fr;align-items:center;
	padding:0 28px;gap:28px;border-bottom:1px solid var(--tcc-line);
}
.tcc-library-brand{display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:-.02em}
.tcc-library-mark{font-size:29px;line-height:1;color:var(--tcc-gold);font-weight:700}
.tcc-library-search-top{height:40px;border-radius:999px;background:rgba(255,255,255,.08);display:flex;align-items:center;padding:0 14px}
.tcc-library-search-top span,.tcc-filter-search span{opacity:.55;font-size:20px}
.tcc-library-search-top input,.tcc-filter-search input{border:0;background:transparent;outline:0;color:#fff;width:100%;padding:0 8px;font-size:14px}
.tcc-library-search-top input::placeholder,.tcc-filter-search input::placeholder{color:#8991ae}
.tcc-library-back{justify-self:end;color:#fff;text-decoration:none;font-size:13px;opacity:.85}
.tcc-library-back:hover{color:var(--tcc-gold)}
.tcc-library-body{padding:0 24px 110px}
.tcc-filterbar{display:flex;align-items:center;gap:10px;padding:14px 0 8px}
.tcc-filter-search{height:40px;display:flex;align-items:center;border:1px solid var(--tcc-line);background:rgba(255,255,255,.045);border-radius:9px;padding:0 12px;flex:1;min-width:190px}
.tcc-filterbar select{
	height:40px;border:1px solid var(--tcc-line);background:var(--tcc-navy-2);color:#e9ecf7;border-radius:9px;padding:0 30px 0 12px;font-size:13px;outline:0;max-width:190px
}
.tcc-filterbar select:focus{border-color:var(--tcc-gold)}
.tcc-topicbar{display:flex;gap:9px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none}
.tcc-topicbar::-webkit-scrollbar{display:none}
.tcc-topic{
	flex:0 0 auto;border:1px solid var(--tcc-line);background:rgba(255,255,255,.055);color:#d9deef;border-radius:999px;padding:8px 14px;font-size:12px;cursor:pointer
}
.tcc-topic:hover,.tcc-topic.is-active{background:var(--tcc-gold);border-color:var(--tcc-gold);color:#10152f}
.tcc-library-heading{display:flex;align-items:end;justify-content:space-between;padding:28px 0 20px}
.tcc-library-greeting{display:block;color:var(--tcc-muted);font-size:13px;margin-bottom:5px}
.tcc-library-heading h1{font-size:24px;line-height:1.1;margin:0;font-weight:650;color:#fff}
.tcc-result-count{font-size:12px;color:var(--tcc-muted)}
.tcc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 20px}
.tcc-card{min-width:0;position:relative}
.tcc-card__artwork{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;text-align:left}
.tcc-card__image-wrap{display:block;position:relative;aspect-ratio:1/1;border-radius:9px;overflow:hidden;background:#0b0f28;box-shadow:0 10px 26px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease}
.tcc-card__image{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease,filter .3s ease}
.tcc-card__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(8,12,32,.48);opacity:0;transition:opacity .2s ease}
.tcc-card__play{width:54px;height:54px;border:2px solid rgba(255,255,255,.95);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:19px;padding-left:3px;box-shadow:0 4px 20px rgba(0,0,0,.25)}
.tcc-card__artwork:hover .tcc-card__overlay,.tcc-card__artwork:focus-visible .tcc-card__overlay,.tcc-card.is-playing .tcc-card__overlay{opacity:1}
.tcc-card__artwork:hover .tcc-card__image{transform:scale(1.035);filter:brightness(.72)}
.tcc-card.is-playing .tcc-card__image-wrap{box-shadow:0 0 0 2px var(--tcc-gold),0 12px 30px rgba(0,0,0,.25)}
.tcc-card.is-playing .tcc-card__play{background:var(--tcc-gold);border-color:var(--tcc-gold);color:#10152f}
.tcc-badge{position:absolute;right:7px;bottom:7px;background:rgba(5,8,22,.82);color:#fff;border-radius:5px;padding:3px 6px;font-size:10px;line-height:1;backdrop-filter:blur(4px)}
.tcc-card__title{display:block;color:#fff;text-decoration:none;font-size:13px;font-weight:650;line-height:1.25;margin:10px 2px 0;white-space:normal}
.tcc-card__title:hover{color:var(--tcc-gold)}
.tcc-card__meta{display:flex;justify-content:space-between;gap:8px;color:var(--tcc-muted);font-size:10.5px;margin:5px 2px 0;line-height:1.25}
.tcc-card__meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tcc-card__meta time{flex:0 0 auto}
.tcc-state{text-align:center;color:var(--tcc-muted);padding:28px 0;font-size:13px}
.tcc-sentinel{height:1px}

/* Fixed player: one global instance, never one player per card. */
.tcc-player{
	position:fixed;left:0;right:0;bottom:0;z-index:999999;min-height:72px;background:#0a0d22;color:#fff;
	border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -8px 28px rgba(0,0,0,.28);
	display:grid;grid-template-columns:minmax(220px,1.2fr) auto minmax(280px,1.7fr) auto;align-items:center;gap:24px;padding:10px 18px;
	transform:translateY(110%);transition:transform .28s ease;visibility:hidden
}
.tcc-player.is-open{transform:translateY(0);visibility:visible}
.tcc-player.is-loading{cursor:progress}
body.tcc-has-player{padding-bottom:92px}
.tcc-player__track{display:flex;align-items:center;gap:12px;min-width:0}
.tcc-player__art{width:48px;height:48px;border-radius:6px;object-fit:cover;background:#171c42;flex:0 0 auto}
.tcc-player__meta{min-width:0;display:flex;flex-direction:column}
.tcc-player__title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcc-player__sub{font-size:10px;color:var(--tcc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.tcc-player__controls{display:flex;align-items:center;gap:9px}
.tcc-player__controls button,.tcc-player__close{
	border:0;background:transparent;color:#dfe3f4;cursor:pointer;font-size:12px;padding:7px;line-height:1
}
.tcc-player__controls button:hover,.tcc-player__close:hover{color:var(--tcc-gold)}
.tcc-player__play{width:38px;height:38px;border-radius:50%!important;background:#fff!important;color:#10152f!important;font-size:13px!important}
.tcc-player__progress{display:flex;align-items:center;gap:9px;min-width:0}
.tcc-player__time{font-size:10px;color:#aeb5ce;min-width:35px}
.tcc-player__duration{text-align:right}
.tcc-player__progress input{width:100%;height:3px;accent-color:var(--tcc-gold);cursor:pointer}
.tcc-player__actions{display:flex;align-items:center;gap:12px}
.tcc-player__actions a{font-size:11px;color:#bfc5da;text-decoration:none}
.tcc-player__actions a:hover{color:var(--tcc-gold)}
.tcc-player__close{font-size:24px;font-weight:300;padding:3px 0 3px 8px}

/* Featured component */
.tcc-featured{display:grid;grid-template-columns:minmax(240px,360px) 1fr;background:var(--tcc-navy);border:1px solid var(--tcc-line);border-radius:16px;overflow:hidden;color:#fff}
.tcc-featured__art{min-height:270px;background-size:cover;background-position:center;position:relative}
.tcc-featured__art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(16,24,66,.35))}
.tcc-featured__play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;border:2px solid #fff;background:rgba(16,24,66,.45);color:#fff;font-size:22px;cursor:pointer}
.tcc-featured__body{padding:38px;display:flex;flex-direction:column;justify-content:center}
.tcc-featured__eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--tcc-gold);font-weight:700}
.tcc-featured__body h2{font-size:clamp(26px,3vw,42px);line-height:1.05;margin:9px 0 10px;color:#fff}
.tcc-featured__body p{color:var(--tcc-muted);margin:0}
.tcc-featured__actions{display:flex;align-items:center;gap:18px;margin-top:24px}
.tcc-featured__listen{border:0;border-radius:999px;background:var(--tcc-gold);color:#10152f;padding:12px 19px;font-weight:700;cursor:pointer}
.tcc-featured__actions a{color:#fff;text-decoration:none;font-size:13px}

/* Single */
.tcc-single-page{background:var(--tcc-navy);padding:50px max(24px,5vw) 120px}
.tcc-single__hero{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:48px;max-width:1100px;margin:auto}
.tcc-single__art img{width:100%;display:block;border-radius:14px}
.tcc-single__body{align-self:center}
.tcc-single__eyebrow{color:var(--tcc-gold);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.tcc-single__body h1{font-size:clamp(30px,5vw,58px);line-height:1.04;margin:10px 0;color:#fff}
.tcc-single__byline{color:var(--tcc-muted);font-size:13px}
.tcc-single__scripture{color:var(--tcc-gold);font-style:italic}
.tcc-single__listen{margin-top:16px;background:var(--tcc-gold);border:0;color:#10152f;padding:13px 22px;border-radius:999px;font-weight:700;cursor:pointer}
.tcc-single__back{display:block;margin-top:20px;color:#fff;text-decoration:none;font-size:13px}
.tcc-single__back:hover{color:var(--tcc-gold)}
.tcc-single__content{max-width:760px;margin:55px auto 0;color:#c3c8dc;line-height:1.75}

@media(max-width:1100px){
	.tcc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
	.tcc-player{grid-template-columns:1.2fr auto 1.5fr auto;gap:14px}
	.tcc-player__actions a{display:none}
}
@media(max-width:760px){
	.tcc-library-header{height:58px;grid-template-columns:1fr auto;padding:0 16px}
	.tcc-library-search-top{display:none}
	.tcc-library-back{font-size:11px}
	.tcc-library-body{padding:0 14px 130px}
	.tcc-filterbar{flex-wrap:wrap}
	.tcc-filter-search{flex:1 1 100%}
	.tcc-filterbar select{flex:1;max-width:none}
	.tcc-library-heading{padding-top:22px}
	.tcc-library-heading h1{font-size:21px}
	.tcc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
	.tcc-card__title{font-size:12px}
	.tcc-card__meta{font-size:9.5px}
	.tcc-player{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px 10px;padding:9px 12px}
	.tcc-player__controls{justify-content:flex-end}
	.tcc-player__progress{grid-column:1 / -1;order:3}
	.tcc-player__art{width:42px;height:42px}
	.tcc-player__actions{display:none}
	.tcc-featured{grid-template-columns:1fr}
	.tcc-featured__art{min-height:250px}
	.tcc-featured__body{padding:25px}
	.tcc-single__hero{grid-template-columns:1fr;gap:25px}
}

/* Theme-safe shell: keep the sermon library inside its own stacking context. */
.tcc-sermons-app .tcc-library-header input,
.tcc-sermons-app .tcc-filterbar input,
.tcc-sermons-app .tcc-filterbar select { box-sizing:border-box; }
@media (max-width:760px){
	.tcc-library-header{grid-template-columns:1fr auto;height:58px;padding:0 16px;gap:12px;}
	.tcc-library-brand{font-size:16px;}
	.tcc-library-back{white-space:nowrap;}
}

/* -------------------------------------------------------------------------
   Standalone sermon application
   The archive owns the entire viewport: no WoodMart/Elementor header or
   footer is rendered around it.
   ------------------------------------------------------------------------- */
html.tcc-standalone-html,
html.tcc-standalone-html body.tcc-standalone-body{
	margin:0 !important;
	padding:0 !important;
	width:100% !important;
	min-width:0 !important;
	min-height:100% !important;
	background:#101842 !important;
}
html.tcc-standalone-html{background:#101842 !important;}
body.tcc-standalone-body{
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
	overflow-x:hidden !important;
}
body.tcc-standalone-body #wpadminbar{display:none !important;}
body.tcc-standalone-body .tcc-sermons-app{
	width:100% !important;
	max-width:none !important;
	min-height:100dvh !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	box-sizing:border-box !important;
}
body.tcc-standalone-body .tcc-library-header{
	width:100% !important;
	box-sizing:border-box !important;
}
body.tcc-standalone-body .tcc-library-body{
	box-sizing:border-box !important;
	min-height:calc(100dvh - 64px) !important;
}
body.tcc-standalone-body .tcc-player{z-index:2147483000 !important;}
body.tcc-standalone-body.tcc-has-player{padding-bottom:0 !important;}


/* Elementor editor safety: show a lightweight placeholder instead of
   starting the AJAX archive application inside the editor iframe. */
.tcc-sermons-editor-placeholder{
	min-height:260px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	background:var(--tcc-navy,#101842) !important;
	border:1px dashed rgba(255,255,255,.18) !important;
	box-sizing:border-box !important;
}
.tcc-sermons-editor-placeholder__inner{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:40px;
	text-align:center;
	color:#fff;
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tcc-sermons-editor-placeholder__inner strong{font-size:20px;}
.tcc-sermons-editor-placeholder__inner span{font-size:12px;color:#9da5c2;}

/* -------------------------------------------------------------------------
   v3.3.0 — TCCC archive refinements
   ------------------------------------------------------------------------- */
.tcc-library-header{
	grid-template-columns:minmax(220px,300px) minmax(260px,430px) 1fr;
	min-height:68px;
	height:68px;
	padding:0 32px;
	gap:28px;
	background:#090d24;
}
.tcc-library-brand{
	display:flex;
	align-items:center;
	gap:10px;
	min-width:0;
	color:#fff;
	text-decoration:none;
}
.tcc-library-brand:hover{color:#fff;text-decoration:none;}
.tcc-library-logo{
	width:42px;
	height:42px;
	object-fit:contain;
	object-position:center;
	flex:0 0 42px;
	display:block;
}
.tcc-library-brand strong{
	font-size:18px;
	font-weight:750;
	letter-spacing:-.02em;
	white-space:nowrap;
}
.tcc-library-body{
	padding:0 32px 120px;
	min-height:calc(100dvh - 68px);
	box-sizing:border-box;
}
.tcc-library-heading{
	padding:34px 0 24px;
}
.tcc-grid{
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:32px 22px;
}
.tcc-card__image-wrap{
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
}
.tcc-card__image{
	width:100% !important;
	height:100% !important;
	min-width:100%;
	min-height:100%;
	object-fit:cover !important;
	object-position:center center;
}
.tcc-card__artwork{width:100%;}
.tcc-card__overlay{width:100%;height:100%;}

/* The public archive owns the viewport; do not let theme wrappers constrain it. */
html.tcc-standalone-html,
html.tcc-standalone-html body.tcc-standalone-body{
	width:100vw !important;
	min-height:100dvh !important;
	height:100% !important;
	margin:0 !important;
	padding:0 !important;
	background:#101842 !important;
}
body.tcc-standalone-body{
	min-height:100dvh !important;
	overflow-x:hidden !important;
}
body.tcc-standalone-body .tcc-sermons-app{
	width:100vw !important;
	max-width:none !important;
	min-height:100dvh !important;
	margin:0 !important;
	padding:0 !important;
	box-sizing:border-box !important;
}
body.tcc-standalone-body .tcc-library-body{
	min-height:calc(100dvh - 68px) !important;
}

/* No filter bar/topic chips in the v3.3 public archive. */
.tcc-sermons-app .tcc-filterbar,
.tcc-sermons-app .tcc-topicbar{display:none !important;}

@media (max-width:1100px){
	.tcc-library-header{grid-template-columns:minmax(190px,240px) minmax(220px,1fr) auto;}
	.tcc-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:760px){
	.tcc-library-header{
		height:60px;
		min-height:60px;
		grid-template-columns:auto minmax(0,1fr) auto;
		padding:0 14px;
		gap:10px;
	}
	.tcc-library-logo{width:36px;height:36px;flex-basis:36px;}
	.tcc-library-brand{gap:7px;}
	.tcc-library-brand strong{font-size:15px;}
	.tcc-library-search-top{height:38px;min-width:0;}
	.tcc-library-search-top input{font-size:12px;min-width:0;}
	.tcc-library-back{font-size:10px;white-space:nowrap;}
	.tcc-library-body{padding:0 14px 125px;min-height:calc(100dvh - 60px);}
	.tcc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px;}
	body.tcc-standalone-body .tcc-library-body{min-height:calc(100dvh - 60px) !important;}
}

/* -------------------------------------------------------------------------
   v3.4.0 — series navigation + reliable single-sermon playback
   ------------------------------------------------------------------------- */
.tcc-sermons-app{
	height:100dvh !important;
	min-height:100dvh !important;
	overflow:hidden !important;
}
.tcc-library-header{
	position:relative !important;
	height:68px !important;
	min-height:68px !important;
}
.tcc-seriesbar{
	height:52px;
	min-height:52px;
	background:#101842;
	border-bottom:1px solid rgba(255,255,255,.07);
	position:relative;
	z-index:5;
	display:flex;
	align-items:center;
	overflow:hidden;
}
.tcc-seriesbar__inner{
	width:100%;
	display:flex;
	align-items:center;
	gap:10px;
	padding:0 32px;
	overflow-x:auto;
	overflow-y:hidden;
	scrollbar-width:none;
	white-space:nowrap;
}
.tcc-seriesbar__inner::-webkit-scrollbar{display:none;}
.tcc-series{
	appearance:none;
	border:1px solid rgba(255,255,255,.08);
	background:rgba(255,255,255,.055);
	color:#dce1f0;
	border-radius:999px;
	padding:8px 15px;
	font:600 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	cursor:pointer;
	flex:0 0 auto;
	transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.tcc-series:hover{background:rgba(212,166,74,.16);border-color:rgba(212,166,74,.45);color:#fff;transform:translateY(-1px);}
.tcc-series.is-active{background:var(--tcc-gold,#D4A64A);border-color:var(--tcc-gold,#D4A64A);color:#10152f;}
.tcc-seriesbar__loading{font-size:11px;color:#77809f;}
.tcc-library-body{
	height:calc(100dvh - 120px) !important;
	min-height:0 !important;
	overflow-y:auto !important;
	overflow-x:hidden !important;
	padding:0 32px 120px !important;
	box-sizing:border-box !important;
	overscroll-behavior:contain;
}
.tcc-library-heading{padding-top:30px;}

/* Full-width artwork inside the thumbnail frame. */
.tcc-card__image-wrap{width:100%;height:auto;aspect-ratio:1/1;}
.tcc-card__image{width:100% !important;height:100% !important;object-fit:cover !important;display:block;}

/* Standalone single-sermon header. */
.tcc-single-page{
	min-height:100dvh;
	box-sizing:border-box;
	padding:0 5vw 120px;
	background:var(--tcc-navy,#101842);
}
.tcc-single-header{
	height:68px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	border-bottom:1px solid rgba(255,255,255,.08);
	margin:0 -5vw 50px;
	padding:0 32px;
	box-sizing:border-box;
	background:#090d24;
}
.tcc-single-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;}
.tcc-single-brand:hover{color:#fff;}
.tcc-single-brand img{width:42px;height:42px;object-fit:contain;display:block;}
.tcc-single-brand strong{font-size:18px;letter-spacing:-.02em;}
.tcc-single-page .tcc-single__hero{max-width:1180px;min-height:calc(100dvh - 168px);}
.tcc-single__art img{width:100%;height:auto;max-height:70dvh;object-fit:cover;}

@media(max-width:1100px){
	.tcc-seriesbar__inner{padding:0 24px;}
	.tcc-library-body{height:calc(100dvh - 120px) !important;padding-left:24px !important;padding-right:24px !important;}
}
@media(max-width:760px){
	.tcc-library-header{height:60px !important;min-height:60px !important;}
	.tcc-seriesbar{height:50px;min-height:50px;}
	.tcc-seriesbar__inner{padding:0 14px;gap:8px;}
	.tcc-series{font-size:11px;padding:7px 12px;}
	.tcc-library-body{height:calc(100dvh - 110px) !important;min-height:0 !important;padding:0 14px 125px !important;}
	.tcc-library-heading{padding-top:22px;}
	.tcc-single-page{padding:0 14px 120px;}
	.tcc-single-header{height:60px;margin:0 -14px 28px;padding:0 14px;}
	.tcc-single-brand img{width:36px;height:36px;}
	.tcc-single-brand strong{font-size:15px;}
	.tcc-single-page .tcc-single__hero{min-height:0;}
}

/* -------------------------------------------------------------------------
   v3.4.1 — polished series pills, edge-to-edge artwork, balanced single view
   ------------------------------------------------------------------------- */
.tcc-sermons-app .tcc-seriesbar__inner{
	align-items:center !important;
	gap:10px !important;
}
.tcc-sermons-app .tcc-series{
	/* Override theme button styles (WoodMart/Elementor/etc.). */
	-webkit-appearance:none !important;
	appearance:none !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:auto !important;
	min-width:max-content !important;
	height:36px !important;
	min-height:36px !important;
	margin:0 !important;
	padding:0 16px !important;
	border:1px solid rgba(255,255,255,.10) !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.055) !important;
	box-shadow:none !important;
	color:#dce1f0 !important;
	font:600 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
	text-transform:none !important;
	letter-spacing:0 !important;
	cursor:pointer !important;
	flex:0 0 auto !important;
}
.tcc-sermons-app .tcc-series:hover{
	background:rgba(212,166,74,.16) !important;
	border-color:rgba(212,166,74,.55) !important;
	color:#fff !important;
	transform:translateY(-1px) !important;
}
.tcc-sermons-app .tcc-series.is-active{
	background:var(--tcc-gold,#D4A64A) !important;
	border-color:var(--tcc-gold,#D4A64A) !important;
	color:#10152f !important;
}

/* Artwork must be the card itself — never a white theme button around it. */
.tcc-sermons-app .tcc-card{
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
}
.tcc-sermons-app .tcc-card__artwork,
.tcc-sermons-app button.tcc-card__artwork{
	-webkit-appearance:none !important;
	appearance:none !important;
	display:block !important;
	width:100% !important;
	height:auto !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	outline:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	color:inherit !important;
	text-align:left !important;
	line-height:0 !important;
}
.tcc-sermons-app .tcc-card__image-wrap{
	position:relative !important;
	display:block !important;
	width:100% !important;
	aspect-ratio:1 / 1 !important;
	height:auto !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:9px !important;
	overflow:hidden !important;
	background:#0b0f28 !important;
	box-shadow:0 10px 26px rgba(0,0,0,.18) !important;
}
.tcc-sermons-app .tcc-card__image{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	min-width:100% !important;
	min-height:100% !important;
	max-width:none !important;
	max-height:none !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	object-fit:cover !important;
	object-position:center center !important;
	display:block !important;
}
.tcc-sermons-app .tcc-card__overlay{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	margin:0 !important;
	padding:0 !important;
	border-radius:inherit !important;
}

/* -------------------------------------------------------------------------
   Single sermon — balanced editorial layout
   ------------------------------------------------------------------------- */
.tcc-single-page{
	min-height:100dvh !important;
	padding:0 5vw 110px !important;
	background:var(--tcc-navy,#101842) !important;
	box-sizing:border-box !important;
}
.tcc-single-header{
	height:68px !important;
	min-height:68px !important;
	margin:0 -5vw !important;
	padding:0 32px !important;
	background:#090d24 !important;
	border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.tcc-single-header .tcc-library-back{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:36px !important;
	padding:0 16px !important;
	border:1px solid rgba(255,255,255,.12) !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.045) !important;
	color:#fff !important;
	font-size:12px !important;
	font-weight:600 !important;
	text-decoration:none !important;
}
.tcc-single-header .tcc-library-back:hover{
	background:var(--tcc-gold,#D4A64A) !important;
	border-color:var(--tcc-gold,#D4A64A) !important;
	color:#10152f !important;
}
.tcc-single__hero{
	width:100% !important;
	max-width:1180px !important;
	min-height:calc(100dvh - 68px) !important;
	margin:0 auto !important;
	padding:58px 0 70px !important;
	box-sizing:border-box !important;
	display:grid !important;
	grid-template-columns:minmax(360px,500px) minmax(0,1fr) !important;
	align-items:center !important;
	gap:clamp(42px,6vw,84px) !important;
}
.tcc-single__art{
	width:100% !important;
	max-width:500px !important;
	justify-self:center !important;
	padding:0 !important;
	margin:0 !important;
	border-radius:18px !important;
	overflow:hidden !important;
	background:#0b0f28 !important;
	box-shadow:0 24px 70px rgba(0,0,0,.30) !important;
}
.tcc-single__art img{
	width:100% !important;
	aspect-ratio:1 / 1 !important;
	height:auto !important;
	max-height:none !important;
	object-fit:cover !important;
	object-position:center !important;
	display:block !important;
	margin:0 !important;
}
.tcc-single__body{
	align-self:center !important;
	max-width:650px !important;
	padding:12px 0 !important;
}
.tcc-single__eyebrow{
	display:inline-flex !important;
	align-items:center !important;
	min-height:30px !important;
	padding:0 12px !important;
	border:1px solid rgba(212,166,74,.35) !important;
	border-radius:999px !important;
	background:rgba(212,166,74,.08) !important;
	color:var(--tcc-gold,#D4A64A) !important;
	font-size:11px !important;
	font-weight:700 !important;
	text-transform:uppercase !important;
	letter-spacing:.12em !important;
}
.tcc-single__body h1{
	font-size:clamp(36px,4.8vw,64px) !important;
	line-height:1.02 !important;
	letter-spacing:-.035em !important;
	margin:18px 0 18px !important;
	color:#fff !important;
	max-width:680px !important;
}
.tcc-single__byline{
	display:flex !important;
	flex-wrap:wrap !important;
	align-items:center !important;
	gap:8px !important;
	margin:0 !important;
	color:#aeb6d0 !important;
	font-size:13px !important;
	line-height:1.6 !important;
}
.tcc-single__scripture{
	margin:24px 0 0 !important;
	padding:18px 20px !important;
	border-left:3px solid var(--tcc-gold,#D4A64A) !important;
	border-radius:0 10px 10px 0 !important;
	background:rgba(255,255,255,.045) !important;
	color:#e7eaf5 !important;
	font-size:15px !important;
	line-height:1.65 !important;
}
.tcc-single__listen{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:9px !important;
	margin-top:28px !important;
	min-height:48px !important;
	padding:0 24px !important;
	border:0 !important;
	border-radius:999px !important;
	background:var(--tcc-gold,#D4A64A) !important;
	color:#10152f !important;
	font-size:13px !important;
	font-weight:750 !important;
	cursor:pointer !important;
	box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
}
.tcc-single__listen:hover{
	background:#fff !important;
	transform:translateY(-1px) !important;
}
.tcc-single__back{
	display:inline-flex !important;
	align-items:center !important;
	margin:28px 0 0 18px !important;
	color:#cdd3e7 !important;
	font-size:12px !important;
	font-weight:600 !important;
	text-decoration:none !important;
}
.tcc-single__back:hover{color:var(--tcc-gold,#D4A64A) !important;}
.tcc-single__content{
	width:100% !important;
	max-width:820px !important;
	margin:0 auto !important;
	padding:34px 0 20px !important;
	border-top:1px solid rgba(255,255,255,.09) !important;
	color:#c3c8dc !important;
	font-size:15px !important;
	line-height:1.8 !important;
}
.tcc-single__content:before{
	content:"Sermon Notes";
	display:block;
	margin:0 0 16px;
	color:#fff;
	font-size:18px;
	font-weight:700;
}

@media(max-width:900px){
	.tcc-single__hero{
		grid-template-columns:minmax(280px,460px) minmax(0,1fr) !important;
		gap:34px !important;
		padding-top:42px !important;
	}
	.tcc-single__body h1{font-size:clamp(32px,5vw,50px) !important;}
}
@media(max-width:760px){
	.tcc-sermons-app .tcc-series{
		height:34px !important;
		min-height:34px !important;
		padding:0 14px !important;
		font-size:11px !important;
	}
	.tcc-single-page{padding:0 14px 120px !important;}
	.tcc-single-header{
		height:60px !important;
		min-height:60px !important;
		margin:0 -14px !important;
		padding:0 14px !important;
	}
	.tcc-single-header .tcc-library-back{min-height:32px !important;padding:0 12px !important;font-size:10px !important;}
	.tcc-single-page .tcc-single__hero{
		min-height:0 !important;
		grid-template-columns:1fr !important;
		gap:28px !important;
		padding:30px 0 42px !important;
	}
	.tcc-single__art{max-width:520px !important;}
	.tcc-single__body{padding:0 !important;}
	.tcc-single__body h1{font-size:clamp(34px,10vw,46px) !important;margin-top:14px !important;}
	.tcc-single__scripture{font-size:14px !important;}
	.tcc-single__listen{width:100% !important;}
	.tcc-single__back{margin-left:0 !important;}
}

/* -------------------------------------------------------------------------
   v3.5.0 — unified audio/video media player
   ------------------------------------------------------------------------- */
.tcc-player{
	position:fixed !important;
	left:0 !important;
	right:0 !important;
	bottom:0 !important;
	z-index:2147483000 !important;
	display:none !important;
	grid-template-columns:none !important;
	background:#0a0d21 !important;
	border-top:1px solid rgba(255,255,255,.10) !important;
	box-shadow:0 -18px 55px rgba(0,0,0,.35) !important;
	color:#fff !important;
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.tcc-player.is-open{display:block !important;}
.tcc-player__bar{
	min-height:82px;
	display:grid;
	grid-template-columns:minmax(220px,1.2fr) auto minmax(260px,1.5fr) auto;
	align-items:center;
	gap:20px;
	padding:10px 22px;
}
.tcc-player__track{display:flex;align-items:center;gap:12px;min-width:0;}
.tcc-player__art{width:52px;height:52px;object-fit:cover;border-radius:8px;background:#151a35;flex:0 0 52px;}
.tcc-player__meta{min-width:0;display:flex;flex-direction:column;gap:4px;}
.tcc-player__title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;}
.tcc-player__sub{font-size:10px;color:#929bb9;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tcc-player__controls{display:flex;align-items:center;justify-content:center;gap:10px;}
.tcc-player__controls button,.tcc-player__actions button{border:0;background:transparent;color:#cbd2e8;cursor:pointer;padding:7px;line-height:1;font-size:12px;}
.tcc-player__controls button:hover,.tcc-player__actions button:hover{color:#fff;}
.tcc-player__play{width:42px !important;height:42px !important;border-radius:50% !important;background:#fff !important;color:#10152f !important;font-size:15px !important;}
.tcc-player__progress{display:flex;align-items:center;gap:9px;min-width:0;}
.tcc-player__progress input[type=range]{width:100%;accent-color:var(--tcc-gold,#D4A64A);cursor:pointer;}
.tcc-player__time{font-size:10px;color:#8f97b4;white-space:nowrap;}
.tcc-player__actions{display:flex;align-items:center;gap:7px;justify-content:flex-end;}
.tcc-player__actions a{color:#bfc6dc;text-decoration:none;font-size:11px;}
.tcc-player__actions a:hover{color:#fff;}
.tcc-player__mode{display:none !important;border:1px solid rgba(255,255,255,.12) !important;border-radius:999px !important;padding:7px 11px !important;}
.tcc-player[data-status]:not([data-status=""])::after{content:attr(data-status);position:absolute;left:50%;bottom:100%;transform:translateX(-50%);background:#0a0d21;color:#dce1f0;border:1px solid rgba(255,255,255,.08);padding:7px 12px;border-radius:8px 8px 0 0;font-size:11px;white-space:nowrap;}
.tcc-player__video-stage{display:none;position:relative;width:100%;background:#000;}
.tcc-player.is-video-expanded .tcc-player__video-stage{display:block;height:min(56vh,520px);}
.tcc-player__video-host{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000;}
.tcc-player__iframe,.tcc-player__video{width:100%;height:100%;display:block;border:0;background:#000;object-fit:contain;}
.tcc-player__video-close{position:absolute !important;right:16px;top:12px;z-index:3;width:34px;height:34px;border-radius:50% !important;background:rgba(0,0,0,.65) !important;color:#fff !important;font-size:18px !important;}
.tcc-player.is-loading .tcc-player__play{opacity:.55;}
.tcc-player.is-video .tcc-player__bar{background:#0a0d21;}

/* Card affordance: play icon only becomes visible on artwork hover/focus. */
.tcc-sermons-app .tcc-card__overlay{opacity:0 !important;background:rgba(8,12,34,.34) !important;transition:opacity .2s ease,background .2s ease !important;}
.tcc-sermons-app .tcc-card__play{width:58px !important;height:58px !important;display:flex !important;align-items:center !important;justify-content:center !important;border-radius:50% !important;background:rgba(255,255,255,.94) !important;color:#10152f !important;font-size:19px !important;box-shadow:0 10px 28px rgba(0,0,0,.28) !important;transform:scale(.85) !important;transition:transform .2s ease !important;}
.tcc-sermons-app .tcc-card:hover .tcc-card__overlay,
.tcc-sermons-app .tcc-card:focus-within .tcc-card__overlay,
.tcc-sermons-app .tcc-card.is-playing .tcc-card__overlay{opacity:1 !important;}
.tcc-sermons-app .tcc-card:hover .tcc-card__play,
.tcc-sermons-app .tcc-card:focus-within .tcc-card__play,
.tcc-sermons-app .tcc-card.is-playing .tcc-card__play{transform:scale(1) !important;}

@media(max-width:1100px){
	.tcc-player__bar{grid-template-columns:minmax(190px,1fr) auto minmax(200px,1.2fr) auto;gap:12px;padding:9px 14px;}
	.tcc-player__actions a{display:none;}
}
@media(max-width:760px){
	.tcc-player__bar{
		grid-template-columns:1fr auto;
		grid-template-rows:auto auto auto;
		gap:7px 10px;
		padding:8px 12px;
	}
	.tcc-player__track{grid-column:1;grid-row:1;}
	.tcc-player__controls{grid-column:2;grid-row:1;}
	.tcc-player__actions{
		display:flex !important;
		grid-column:1 / -1;
		grid-row:2;
		justify-content:center;
		align-items:center;
		min-height:34px;
		gap:8px;
	}
	.tcc-player__actions .tcc-player__details,
	.tcc-player__actions .tcc-player__download{display:none !important;}
	.tcc-player__close{
		display:block !important;
		margin-left:4px;
		padding:2px 6px !important;
		font-size:22px !important;
	}
	.tcc-player__progress{grid-column:1 / -1;grid-row:3;}
	.tcc-player__art{width:44px;height:44px;flex-basis:44px;}
	.tcc-player__video-stage{height:34vh !important;}
	.tcc-player__video-close{right:10px;top:8px;}
	.tcc-player__media-switch{
		display:none;
		max-width:calc(100vw - 90px);
	}
	.tcc-player__media-switch[style*="inline-flex"]{display:inline-flex !important;}
	.tcc-player__media-btn{padding:7px 12px !important;font-size:11px !important;}
}


/* -------------------------------------------------------------------------
   v3.5.1 — Explicit Audio / Video media switch
   ------------------------------------------------------------------------- */
.tcc-player__media-switch{
	display:none;
	align-items:center;
	gap:3px;
	padding:3px;
	border:1px solid rgba(255,255,255,.14);
	background:rgba(255,255,255,.055);
	border-radius:999px;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.tcc-player__media-btn{
	appearance:none;
	border:0 !important;
	background:transparent !important;
	color:#aeb5ce !important;
	border-radius:999px !important;
	padding:8px 12px !important;
	font-size:11px !important;
	font-weight:750 !important;
	line-height:1 !important;
	white-space:nowrap;
	cursor:pointer;
	transition:background .18s ease,color .18s ease,transform .18s ease;
}
.tcc-player__media-btn:hover{color:#fff !important;background:rgba(255,255,255,.08) !important;}
.tcc-player__media-btn.is-active{
	background:var(--tcc-gold,#D4A64A) !important;
	color:#10152f !important;
	box-shadow:0 3px 12px rgba(0,0,0,.2);
}
.tcc-player__media-btn:active{transform:scale(.97);}
.tcc-player.is-video .tcc-player__media-switch{border-color:rgba(212,166,74,.4);}

@media(max-width:760px){
	.tcc-player__media-btn{padding:7px 9px !important;font-size:10px !important;}
	.tcc-player__media-switch{gap:1px;}
}


/* -------------------------------------------------------------------------
   v3.5.4 — Compact mobile header search
   ------------------------------------------------------------------------- */
/* Keep the application header balanced: brand on the left, search exactly
   in the visual centre, and the website link on the right. */
.tcc-library-header{
	grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr) !important;
	position:relative !important;
}
.tcc-library-brand{
	grid-column:1 !important;
	justify-self:start !important;
}
.tcc-library-search-top{
	grid-column:2 !important;
	justify-self:center !important;
	width:min(430px,42vw) !important;
	min-width:260px;
	box-sizing:border-box;
}
.tcc-library-back{
	grid-column:3 !important;
	justify-self:end !important;
}

/* On phones the same search control remains in the application header and
   is fully functional through the existing JS input listener. */
@media (max-width:760px){
	.tcc-library-header{
		display:grid !important;
		grid-template-columns:auto minmax(150px,210px) auto !important;
		grid-template-rows:60px !important;
		width:100% !important;
		height:60px !important;
		min-height:60px !important;
		padding:0 12px !important;
		gap:9px !important;
		box-sizing:border-box !important;
	}
	.tcc-library-brand{
		grid-column:1 !important;
		grid-row:1 !important;
		min-width:0 !important;
		gap:7px !important;
	}
	.tcc-library-logo{
		width:34px !important;
		height:34px !important;
		flex-basis:34px !important;
	}
	.tcc-library-brand strong{
		font-size:14px !important;
	}
	.tcc-library-search-top{
		grid-column:2 !important;
		grid-row:1 !important;
		position:static !important;
		display:flex !important;
		align-self:center !important;
		justify-self:center !important;
		width:min(210px,48vw) !important;
		min-width:0 !important;
		max-width:210px !important;
		height:38px !important;
		padding:0 10px !important;
		border-radius:999px !important;
		box-sizing:border-box !important;
	}
	.tcc-library-search-top span{
		font-size:17px !important;
		flex:0 0 auto;
	}
	.tcc-library-search-top input{
		min-width:0 !important;
		width:100% !important;
		font-size:12px !important;
		padding:0 6px !important;
	}
	.tcc-library-back{
		grid-column:3 !important;
		grid-row:1 !important;
		justify-self:end !important;
		font-size:10px !important;
		white-space:nowrap !important;
	}
}

/* Extra-small phones: preserve the search field instead of letting the
   branding consume the available header width. */
@media (max-width:390px){
	.tcc-library-header{
		grid-template-columns:34px minmax(150px,190px) auto !important;
		gap:7px !important;
		padding:0 9px !important;
	}
	.tcc-library-brand strong{display:none !important;}
	.tcc-library-search-top{width:min(190px,48vw) !important;height:36px !important;}
	.tcc-library-back{font-size:9px !important;}
}

/* -------------------------------------------------------------------------
   v3.5.5 — Truly centered header search
   -------------------------------------------------------------------------
   The search control is centered against the application header itself,
   rather than centered inside the remaining grid space between the brand
   and the website link. This keeps it visually centered on desktop and
   mobile alike.
   ------------------------------------------------------------------------- */
.tcc-library-header{
	position:relative !important;
}

.tcc-library-search-top{
	position:absolute !important;
	left:50% !important;
	top:50% !important;
	transform:translate(-50%, -50%) !important;
	grid-column:auto !important;
	grid-row:auto !important;
	justify-self:auto !important;
	box-sizing:border-box !important;
	margin:0 !important;
}

@media (max-width:760px){
	.tcc-library-search-top{
		position:absolute !important;
		left:50% !important;
		top:50% !important;
		transform:translate(-50%, -50%) !important;
		width:min(190px, 40vw) !important;
		min-width:150px !important;
		max-width:190px !important;
		height:36px !important;
		z-index:5 !important;
	}
}

@media (max-width:390px){
	.tcc-library-search-top{
		width:170px !important;
		min-width:140px !important;
		max-width:170px !important;
		height:34px !important;
	}
}
