/* ======================================================
   WCF SERMON LIBRARY HOME
   Cleaned single-source stylesheet
====================================================== */

.wcf-sermon-library-home{
	background:#f6f8fb;
	color:#12213a;
	font-family:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	padding:0 0 64px;
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	overflow-x:hidden;
}

/* ======================================================
   CONTAINERS
====================================================== */

.wcf-sermon-container{
	width:100%;
	max-width:1280px;
	margin:0 auto;
	padding:0 24px;
	box-sizing:border-box;
}

.wcf-sermon-width-wrap{
	width:100%;
	max-width:1180px;
	margin:0 auto;
}

/* Generic sermon-library shell instead of old page-id specific targeting */
body .entry-content > .wcf-sermon-library-home{
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	width:100vw;
	max-width:100vw;
}

body .entry-content > .wcf-sermon-library-home .wcf-sermon-container{
	width:100%;
	max-width:1280px;
	margin:0 auto;
	padding:0 24px;
	box-sizing:border-box;
}

body .entry-content > .wcf-sermon-library-home .wcf-sermon-width-wrap{
	width:100%;
	max-width:1180px;
	margin:0 auto;
}

/* ======================================================
   HERO
====================================================== */

.wcf-sermon-library-home .wcf-sermon-hero{
	position:relative;
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	background:
		linear-gradient(180deg, rgba(14,32,68,0.68) 0%, rgba(14,32,68,0.86) 100%),
		url('/wp-content/uploads/2026/04/bible-main-banner.jpg') center center / cover no-repeat;
	border-radius:0;
	overflow:hidden;
}

.wcf-sermon-library-home .wcf-sermon-hero-overlay{
	padding:78px 0 72px;
}

.wcf-sermon-library-home .wcf-sermon-hero-title{
	margin:0 0 14px;
	font-size:58px;
	line-height:1.15;
	font-weight:500;
	letter-spacing:-0.02em;
	color:#ffffff;
	text-align:center;
	text-shadow:none;
}

.wcf-sermon-library-home .wcf-sermon-hero-sub{
	max-width:760px;
	margin:0 auto 36px;
	font-size:24px;
	line-height:1.3;
	font-weight:500;
	opacity:0.9;
	color:#ffffff;
	text-align:center;
	text-shadow:none;
}

/* ======================================================
   SEARCH
====================================================== */

.wcf-sermon-library-home .wcf-sermon-search-wrap{
	max-width:980px;
	margin:0 auto;
	position:relative;
}

.wcf-sermon-library-home .wcf-sermon-search-form{
	display:flex;
	align-items:center;
	gap:0;
	padding:0;
	background:#ffffff;
	border:none;
	border-radius:12px;
	overflow:visible;
	box-shadow:0 12px 28px rgba(0,0,0,0.14);
	backdrop-filter:none;
	-webkit-backdrop-filter:none;
}

.wcf-sermon-library-home .wcf-sermon-search-form input{
	flex:1 1 auto;
	height:68px;
	border:none;
	outline:none;
	border-radius:12px 0 0 12px;
	padding:0 22px;
	font-size:20px;
	font-weight:400;
	font-family:Arial, Helvetica, sans-serif;
	color:#12213a;
	background:#ffffff;
	box-sizing:border-box;
}

.wcf-sermon-library-home .wcf-sermon-search-form input::placeholder{
	color:#6b7280;
	opacity:1;
}

.wcf-sermon-library-home .wcf-sermon-search-form button{
	flex:0 0 auto;
	height:68px;
	padding:0 34px;
	border:none;
	border-radius:0 12px 12px 0;
	background:#3d5ea8;
	color:#ffffff;
	font-size:20px;
	font-weight:400;
	font-family:Arial, Helvetica, sans-serif;
	cursor:pointer;
	transition:background .18s ease;
	box-shadow:none;
}

.wcf-sermon-library-home .wcf-sermon-search-form button:hover{
	transform:none;
	background:#35549a;
}

.wcf-search-autocomplete{
	position:absolute;
	top:calc(100% + 10px);
	left:0;
	right:0;
	background:#ffffff;
	border:1px solid #dde5f0;
	border-radius:18px;
	box-shadow:0 18px 36px rgba(17,24,39,0.12);
	overflow:hidden;
	z-index:40;
}

/* ======================================================
   RESOURCE SHORTCUTS
====================================================== */

.wcf-resource-shortcuts{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:14px;
	margin:24px auto 0;
}

.wcf-resource-chip{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 160px;
	max-width:160px;
	min-height:42px;
	padding:0 20px;
	border-radius:10px;
	background:#ffffff;
	border:none;
	color:#222222;
	font-size:15px;
	font-weight:500;
	font-family:Arial, Helvetica, sans-serif;
	line-height:1;
	text-decoration:none;
	text-align:center;
	box-shadow:0 4px 14px rgba(0,0,0,0.06);
	transition:transform .18s ease, box-shadow .18s ease;
}

.wcf-resource-chip:hover{
	transform:translateY(-1px);
	box-shadow:0 10px 26px rgba(0,0,0,0.10);
}

/* ======================================================
   MAIN AREA
====================================================== */

.wcf-sermon-library-home .wcf-sermon-main{
	padding:38px 0 0;
}

/* ======================================================
   SHARED SECTION STYLES
====================================================== */

.wcf-library-section{
	margin:0 0 26px;
	padding:24px;
	background:#ffffff;
	border:1px solid #e2e8f2;
	border-radius:24px;
	box-shadow:0 10px 28px rgba(15,23,42,0.05);
}

.wcf-section-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:18px;
	margin:0 0 18px;
}

.wcf-section-head h2,
.wcf-section-title{
	margin:0 0 18px;
	font-size:26px;
	line-height:1.25;
	font-weight:600; /* 🔥 lighter like hero */
	letter-spacing:-0.01em;
	color:#12213a;
	font-family:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.wcf-section-head h2{
	margin-bottom:0;
}

.wcf-section-head a{
	font-size:15px;            /* slightly bigger */
	font-weight:600;           /* softer than 700 */
	color:#1d4ed8;            /* cleaner blue */
	text-decoration:none;
	white-space:nowrap;
	display:inline-flex;
	align-items:center;
	gap:4px;
}

.wcf-section-head a:hover{
	text-decoration:underline;
}

/* ======================================================
   HELPERS
====================================================== */

.wcf-empty{
	margin:0;
	font-size:15px;
	line-height:1.7;
	font-weight:500;
	color:#6a778d;
}

/* ======================================================
   GRID CARDS
====================================================== */

.wcf-card-grid{
	display:grid;
	gap:24px;
}

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

.wcf-grid-4{
	grid-template-columns:repeat(4, minmax(0,1fr));
}

/* New reusable horizontal row for desktop overflow */
.wcf-card-row-scroll{
	display:flex;
	gap:24px;
	overflow-x:auto;
	padding-bottom:10px;
	scroll-behavior:smooth;
	scrollbar-width:thin;
	scrollbar-color:#d0d5dd transparent;
}

.wcf-card-row-scroll::-webkit-scrollbar{
	height:6px;
}

.wcf-card-row-scroll::-webkit-scrollbar-thumb{
	background:#d0d5dd;
	border-radius:10px;
}

.wcf-card-row-scroll > .wcf-card{
	flex:0 0 280px;
	width:280px;
	min-width:280px;
	max-width:280px;
}

.wcf-card{
	display:flex;
	flex-direction:column;
	background:#ffffff;
	backdrop-filter:none;
	border:1px solid #dde5f0;
	border-radius:18px;
	overflow:hidden;
	text-decoration:none;
	color:inherit;
	box-shadow:0 8px 22px rgba(15,23,42,0.08);
	transition:all .35s ease;
	height:100%;
	min-height:310px;
}

.wcf-card:hover{
	transform:translateY(-6px);
	box-shadow:0 18px 40px rgba(15,23,42,0.14);
	border-color:#c8d7ee;
}

.wcf-card-img{
	position:relative;
	aspect-ratio:16 / 10;
	overflow:hidden;
	background:#e7ecf4;
}

.wcf-card-img img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .5s ease;
}

.wcf-card:hover img{
	transform:scale(1.06);
}

.wcf-card-img::after{
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(
		120deg,
		rgba(255,255,255,0.18) 0%,
		rgba(255,255,255,0.05) 40%,
		transparent 60%
	);
	pointer-events:none;
}

.wcf-card-body{
	padding:18px;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	min-height:108px;
}

.wcf-card-body h3{
	margin:0;
	font-size:20px;
	font-weight:700;
	line-height:1.3;
	color:#0f172a;
}

.wcf-card-body p{
	margin:8px 0 0;
	font-size:14px;
	line-height:1.6;
	color:#5e6575;
}

/* ======================================================
   STACKED PLAYLIST CARD
====================================================== */

.wcf-card--playlist-stack .wcf-card-img,
.wcf-playlist-img{
	position:relative;
	overflow:visible;
	background:transparent;
}

.wcf-playlist-stack{
	position:relative;
}

.wcf-playlist-stack-layer{
	position:absolute;
	left:0;
	right:0;
	border-radius:18px;
	background:rgba(16,33,60,0.10);
	pointer-events:none;
}

.wcf-playlist-stack-layer-2{
	top:8px;
	bottom:-8px;
	left:8px;
	right:-8px;
	z-index:1;
}

.wcf-playlist-stack-layer-3{
	top:16px;
	bottom:-16px;
	left:16px;
	right:-16px;
	z-index:0;
	opacity:.6;
}

.wcf-playlist-stack-main{
	position:relative;
	z-index:2;
	border-radius:18px;
	overflow:hidden;
	background:#e7ecf4;
	aspect-ratio:16 / 10;
}

.wcf-playlist-stack-main img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.wcf-playlist-stack-count{
	position:absolute;
	right:10px;
	bottom:10px;
	z-index:3;
	padding:5px 8px;
	border-radius:8px;
	background:rgba(9,20,43,0.82);
	color:#fff;
	font-size:12px;
	font-weight:700;
	line-height:1;
}

.wcf-card--playlist-stack .wcf-card-body{
	padding-top:18px;
	min-height:108px;
}

.wcf-playlist-img{
	margin-bottom:0;
}

/* ======================================================
   PLAYLIST CAROUSEL
====================================================== */

.wcf-playlist-carousel{
	overflow:hidden;
	width:100%;
	position:relative;
}

.wcf-playlist-track{
	display:flex;
	gap:20px;
	overflow-x:auto;
	scroll-behavior:smooth;
	padding-bottom:10px;
	scrollbar-width:thin;
	scrollbar-color:#d0d5dd transparent;
}

.wcf-playlist-track::-webkit-scrollbar{
	height:6px;
}

.wcf-playlist-track::-webkit-scrollbar-thumb{
	background:#d0d5dd;
	border-radius:10px;
}

.wcf-playlist-card{
	display:flex;
	flex-direction:column;
	flex:0 0 280px;
	width:280px;
	min-width:280px;
	max-width:280px;
	background:#ffffff;
	border:1px solid #dde5f0;
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 8px 22px rgba(15,23,42,0.08);
	text-decoration:none;
	color:inherit;
	transition:all .35s ease;
	min-height:310px;
}

.wcf-playlist-card:hover{
	transform:translateY(-6px);
	box-shadow:0 18px 40px rgba(15,23,42,0.14);
	border-color:#c8d7ee;
}

.wcf-playlist-img .wcf-playlist-stack-main{
	aspect-ratio:16 / 10;
}

.wcf-playlist-img img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.wcf-playlist-body{
	padding:18px;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	min-height:108px;
}

.wcf-playlist-body h3{
	margin:0;
	font-size:20px;
	font-weight:700;
	line-height:1.3;
	color:#0f172a;
}

.wcf-playlist-body p{
	margin:8px 0 0;
	font-size:14px;
	line-height:1.6;
	color:#5e6575;
}

.wcf-playlist-dots{
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:10px;
}

.wcf-playlist-dots span{
	width:8px;
	height:8px;
	border-radius:50%;
	background:#d1d5db;
	cursor:pointer;
	transition:all .3s ease;
}

.wcf-playlist-dots span.active{
	background:#3b82f6;
	transform:scale(1.2);
}

/* ======================================================
   LATEST SERMON CAROUSEL
====================================================== */

.wcf-latest-carousel{
	position:relative;
	overflow:hidden;
	border-radius:20px;
}

.wcf-latest-track{
	display:flex;
	gap:0;
	will-change:transform;
}

.wcf-latest-slide{
	min-width:100%;
	flex:0 0 100%;
}

.wcf-latest-slide-media{
	position:relative;
	overflow:hidden;
	border-radius:20px;
	background:linear-gradient(180deg, rgba(10,25,55,0.94) 0%, rgba(17,35,73,0.92) 100%);
}

.wcf-latest-slide-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(120deg, rgba(18,38,84,0.34) 0%, rgba(8,26,61,0.12) 100%);
	pointer-events:none;
	z-index:1;
}

.wcf-latest-inner{
	position:relative;
	z-index:2;
	text-decoration:none;
	color:inherit;
}

.wcf-latest-media{
	position:relative;
}

.wcf-latest-media::after{
	content:'';
	position:absolute;
	inset:0;
	background:rgba(10,25,55,0.24);
	border-radius:12px;
	pointer-events:none;
}

.wcf-latest-dots{
	display:flex;
	justify-content:center;
	gap:6px;
	margin-top:10px;
}

.wcf-latest-dots span{
	width:7px;
	height:7px;
	border-radius:50%;
	background:#cfd6e4;
	opacity:.6;
	cursor:pointer;
	transition:all .2s ease;
}

.wcf-latest-dots span.active{
	background:#204a9a;
	opacity:1;
}

/* ======================================================
   TABLET
====================================================== */

@media (max-width:1100px){
	.wcf-grid-4{
		grid-template-columns:repeat(2, minmax(0,1fr));
	}
}

/* ======================================================
   DESKTOP / TABLET LATEST CAROUSEL
====================================================== */

@media (min-width:768px){

	.wcf-latest-slide-media{
		height:260px;
	}

	.wcf-latest-inner{
		display:grid;
		grid-template-columns:320px minmax(0, 1fr);
		grid-template-areas:
			"media title"
			"media tamil";
		align-items:center;
		column-gap:28px;
		row-gap:10px;
		padding:28px 72px;
		height:100%;
	}

	.wcf-latest-media{
		grid-area:media;
	}

	.wcf-latest-media img{
		width:100%;
		height:180px;
		object-fit:cover;
		border-radius:16px;
		display:block;
		box-shadow:0 14px 34px rgba(0,0,0,0.24);
	}

	.wcf-latest-title{
		grid-area:title;
		margin:0;
		font-size:32px;
		line-height:1.18;
		font-weight:800;
		color:#ffffff;
	}

	.wcf-latest-tamil{
		grid-area:tamil;
		margin:0;
		font-size:20px;
		line-height:1.55;
		font-weight:600;
		letter-spacing:0.15px;
		color:rgba(255,255,255,0.92);
	}

	.wcf-latest-ref,
	.wcf-latest-actions{
		display:none !important;
	}

	.wcf-latest-arrow{
		position:absolute;
		top:50%;
		transform:translateY(-50%);
		z-index:3;
		width:42px;
		height:42px;
		border-radius:50%;
		background:rgba(0,0,0,0.34);
		color:#fff;
		border:none;
		cursor:pointer;
		display:flex;
		align-items:center;
		justify-content:center;
		font-size:22px;
		font-weight:700;
		line-height:1;
		transition:background .2s ease, transform .2s ease;
	}

	.wcf-latest-arrow:hover{
		background:rgba(0,0,0,0.52);
		transform:translateY(-50%) scale(1.05);
	}

	.wcf-latest-arrow-prev{
		left:16px;
	}

	.wcf-latest-arrow-next{
		right:16px;
	}
}

/* ======================================================
   MOBILE
====================================================== */

@media (max-width:767px){

	body .entry-content > .wcf-sermon-library-home .wcf-sermon-container{
		padding:0 16px;
	}

	.wcf-sermon-library-home .wcf-sermon-hero{
		border-radius:0;
		background-position:center 32%;
	}

	.wcf-sermon-library-home .wcf-sermon-hero-overlay{
		padding:40px 0 34px;
	}

	.wcf-sermon-library-home .wcf-sermon-hero-title{
		font-size:30px;
		line-height:1.18;
		margin:0 0 8px;
		font-weight:400;
		letter-spacing:0;
	}

	.wcf-sermon-library-home .wcf-sermon-hero-sub{
		font-size:18px;
		line-height:1.3;
		margin:0 auto 24px;
		font-weight:400;
	}

	.wcf-sermon-library-home .wcf-sermon-search-wrap{
		max-width:92%;
	}

	.wcf-sermon-library-home .wcf-sermon-search-form{
		flex-direction:column;
		align-items:stretch;
		gap:0;
		padding:0;
		border-radius:12px;
		overflow:hidden;
	}

	.wcf-sermon-library-home .wcf-sermon-search-form input{
		width:100%;
		height:52px;
		border-radius:12px 12px 0 0;
		padding:0 14px;
		font-size:16px;
	}

	.wcf-sermon-library-home .wcf-sermon-search-form button{
		width:100%;
		height:48px;
		border-radius:0 0 12px 12px;
		font-size:16px;
		font-weight:400;
		padding:0 20px;
	}

	.wcf-resource-shortcuts{
		gap:10px;
		margin-top:18px;
	}

	.wcf-resource-chip{
		flex:0 0 calc(50% - 5px);
		max-width:calc(50% - 5px);
		min-height:42px;
		padding:0 14px;
		font-size:14px;
		font-weight:500;
	}

	.wcf-sermon-library-home .wcf-sermon-main{
		padding-top:24px;
	}

	.wcf-library-section{
		padding:16px 12px;
		border-radius:18px;
		margin-bottom:16px;
	}

	.wcf-section-head{
		display:flex;
		flex-direction:row;
		align-items:center;
		justify-content:space-between;
		gap:10px;
		margin-bottom:12px;
	}

	.wcf-section-head h2,
	.wcf-section-title{
		font-size:18px;
		margin:0;
	}

	.wcf-section-head a{
		font-size:14px;
		line-height:1.2;
		white-space:nowrap;
	}

	.wcf-grid-4{
		display:flex !important;
		gap:14px;
		overflow-x:auto;
		padding-bottom:6px;
		scroll-snap-type:x proximity;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}

	.wcf-grid-4::-webkit-scrollbar{
		display:none;
	}

	.wcf-grid-4 > .wcf-card{
		flex:0 0 82%;
		width:82%;
		min-width:82%;
		max-width:82%;
		scroll-snap-align:start;
		border-radius:16px;
	}

	.wcf-grid-4 > .wcf-card .wcf-card-img{
		aspect-ratio:16 / 10;
	}

	.wcf-grid-4 > .wcf-card .wcf-card-body{
		padding:14px;
		min-height:92px;
	}

	.wcf-grid-4 > .wcf-card .wcf-card-body h3{
		font-size:16px;
		line-height:1.3;
		margin:0;
	}

	.wcf-grid-4 > .wcf-card .wcf-card-body p{
		font-size:13px;
		line-height:1.5;
		margin:8px 0 0;
	}

	.wcf-card-row-scroll{
		display:flex;
		gap:14px;
		overflow-x:auto;
		padding-bottom:6px;
		scroll-snap-type:x proximity;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}

	.wcf-card-row-scroll::-webkit-scrollbar{
		display:none;
	}

	.wcf-card-row-scroll > .wcf-card{
		flex:0 0 82%;
		width:82%;
		min-width:82%;
		max-width:82%;
		scroll-snap-align:start;
		border-radius:16px;
		min-height:250px;
	}

	.wcf-card-row-scroll > .wcf-card .wcf-card-img{
		aspect-ratio:16 / 10;
	}

	.wcf-card-row-scroll > .wcf-card .wcf-card-body{
		padding:14px;
		min-height:92px;
	}

	.wcf-card-row-scroll > .wcf-card .wcf-card-body h3{
		font-size:16px;
		line-height:1.3;
		margin:0;
	}

	.wcf-card-row-scroll > .wcf-card .wcf-card-body p{
		font-size:13px;
		line-height:1.5;
		margin:8px 0 0;
	}

	.wcf-playlist-track{
		display:flex;
		gap:14px;
		overflow-x:auto;
		padding-bottom:6px;
		scroll-snap-type:x proximity;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}

	.wcf-playlist-track::-webkit-scrollbar{
		display:none;
	}

	.wcf-playlist-card{
		display:flex;
		flex-direction:column;
		flex:0 0 82%;
		width:82%;
		min-width:82%;
		max-width:82%;
		scroll-snap-align:start;
		border-radius:16px;
		min-height:250px;
	}

	.wcf-playlist-img .wcf-playlist-stack-main{
		aspect-ratio:16 / 10;
	}

	.wcf-playlist-body{
		padding:14px;
		min-height:92px;
	}

	.wcf-playlist-body h3{
		font-size:16px;
		line-height:1.3;
		margin:0;
	}

	.wcf-playlist-body p{
		font-size:13px;
		line-height:1.5;
		margin:8px 0 0;
	}

	.wcf-playlist-stack-layer-2{
		top:6px;
		bottom:-6px;
		left:6px;
		right:-6px;
	}

	.wcf-playlist-stack-layer-3{
		top:12px;
		bottom:-12px;
		left:12px;
		right:-12px;
	}

	.wcf-card--playlist-stack .wcf-card-body{
		padding-top:14px;
		min-height:92px;
	}
}

/* ======================================================
   AUTOCOMPLETE
====================================================== */

.wcf-autocomplete-item{
	display:flex;
	align-items:flex-start;
	gap:12px;
	padding:14px 16px;
	cursor:pointer;
	border-bottom:1px solid #edf2f7;
	transition:background .16s ease;
}

.wcf-autocomplete-item:last-child{
	border-bottom:none;
}

.wcf-autocomplete-item:hover{
	background:#f8fbff;
}

.wcf-autocomplete-ref{
	flex:0 0 auto;
	min-width:84px;
	font-size:12px;
	line-height:1.4;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:#5f6f86;
	padding-top:2px;
}

.wcf-autocomplete-title{
	flex:1 1 auto;
	min-width:0;
	font-size:15px;
	line-height:1.45;
	font-weight:600;
	color:#10213c;
	word-break:break-word;
	overflow-wrap:break-word;
}

@media (max-width:767px){
	.wcf-autocomplete-item{
		gap:10px;
		padding:12px 14px;
	}

	.wcf-autocomplete-ref{
		min-width:70px;
		font-size:11px;
	}

	.wcf-autocomplete-title{
		font-size:14px;
		line-height:1.4;
	}
}

/* ======================================================
   SEARCH RESULTS
====================================================== */

.wcf-results-section{
	margin-bottom:18px;
}

.wcf-results-count{
	margin:6px 0 0;
	font-size:14px;
	line-height:1.5;
	font-weight:600;
	color:#5f6f86;
}

.wcf-video-list{
	display:flex;
	flex-direction:column;
	gap:14px;
}

.wcf-video-row{
	display:grid;
	grid-template-columns:220px minmax(0,1fr);
	gap:18px;
	align-items:stretch;
	padding:14px;
	border:1px solid #e3e9f2;
	border-radius:18px;
	background:#fff;
	text-decoration:none;
	color:inherit;
	box-shadow:0 6px 18px rgba(15,23,42,0.04);
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wcf-video-row:hover{
	transform:translateY(-2px);
	box-shadow:0 14px 28px rgba(15,23,42,0.08);
	border-color:#cfdbef;
}

.wcf-vr-thumb{
	position:relative;
	overflow:hidden;
	border-radius:14px;
	background:#dfe7f2;
	min-height:124px;
	aspect-ratio:16 / 9;
}

.wcf-vr-thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.wcf-vr-play{
	position:absolute;
	inset:auto auto 14px 14px;
	width:42px;
	height:42px;
	border-radius:50%;
	background:rgba(9,20,43,0.72);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:2;
}

.wcf-vr-tri{
	width:0;
	height:0;
	border-top:8px solid transparent;
	border-bottom:8px solid transparent;
	border-left:13px solid #fff;
	margin-left:3px;
}

.wcf-vr-dur{
	position:absolute;
	right:10px;
	bottom:10px;
	z-index:2;
	padding:5px 8px;
	border-radius:999px;
	background:rgba(9,20,43,0.82);
	color:#fff;
	font-size:12px;
	font-weight:700;
	line-height:1;
}

.wcf-vr-info{
	min-width:0;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.wcf-vr-ref{
	margin:0 0 6px;
	font-size:12px;
	line-height:1.4;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:#5c6c83;
}

.wcf-vr-title{
	margin:0 0 8px;
	font-size:22px;
	line-height:1.28;
	font-weight:800;
	color:#10213c;
	word-break:break-word;
}

.wcf-vr-tamil{
	margin:0 0 10px;
	font-size:15px;
	line-height:1.55;
	font-weight:500;
	color:#52627c;
	word-break:break-word;
}

.wcf-vr-snippet{
	font-size:14px;
	color:#475467;
	line-height:1.5;
	margin-top:6px;
	display:-webkit-box;
	-webkit-line-clamp:2;
	line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

.wcf-vr-snippet mark{
	background:#fff3a3;
	padding:0 2px;
	border-radius:3px;
}

.wcf-vr-badges{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.wcf-badge-sm{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:28px;
	padding:0 10px;
	border-radius:999px;
	font-size:12px;
	font-weight:700;
	line-height:1;
}

.wcf-badge-notes{
	background:#edf6ff;
	color:#1f4f96;
}

.wcf-badge-spotify{
	background:#edf9f1;
	color:#1f7a43;
}

.wcf-badge-series{
	background:#f4f0ff;
	color:#5e42a6;
}

@media (max-width:767px){
	.wcf-video-row{
		grid-template-columns:1fr;
		gap:12px;
		padding:12px;
		border-radius:16px;
	}

	.wcf-vr-thumb{
		min-height:0;
		aspect-ratio:16 / 9;
	}

	.wcf-vr-title{
		font-size:18px;
		line-height:1.32;
	}

	.wcf-vr-tamil{
		font-size:14px;
		line-height:1.5;
	}
}

/* ======================================================
   SEARCH SUGGESTION
====================================================== */

.wcf-search-suggestion{
	margin-top:10px;
}

.wcf-search-suggestion-inner{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	padding:12px 14px;
	border:1px solid #dbe6f5;
	border-radius:14px;
	background:#f7fbff;
	font-size:14px;
	line-height:1.5;
	color:#27405f;
}

.wcf-search-suggestion-label{
	font-weight:600;
	color:#49627f;
}

.wcf-search-suggestion-sep{
	font-weight:700;
	color:#49627f;
}

.wcf-search-suggestion-meta{
	color:#49627f;
}

.wcf-search-suggestion-link,
.wcf-search-original-link{
	border:0;
	background:transparent;
	padding:0;
	margin:0;
	font:inherit;
	font-weight:700;
	color:#1d5fbf;
	cursor:pointer;
	text-decoration:underline;
}

.wcf-search-suggestion-link:hover,
.wcf-search-original-link:hover{
	color:#144a96;
}

/* ======================================================
   NAV MATCH
====================================================== */

.main-navigation .main-nav ul li a{
	font-size:17px;
	font-weight:500;
	color:#1b1b1b !important;
	font-family:inherit;
}

/* ======================================================
   LOAD MORE
====================================================== */

.wcf-load-more-wrap{
	margin-top:18px;
	text-align:center;
}

.wcf-load-more-sentinel{
	width:100%;
	height:1px;
}

.wcf-load-more-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:0 22px;
	border:none;
	border-radius:12px;
	background:#3d5ea8;
	color:#fff;
	font-size:15px;
	font-weight:600;
	cursor:pointer;
	box-shadow:0 8px 18px rgba(61,94,168,0.18);
	transition:background .18s ease, opacity .18s ease;
}

.wcf-load-more-btn:hover{
	background:#35549a;
}

.wcf-load-more-btn[disabled]{
	opacity:.7;
	cursor:default;
}

@media (max-width:767px){
	.wcf-load-more-wrap{
		margin-top:16px;
	}

	.wcf-load-more-btn{
		width:100%;
		min-height:48px;
		font-size:16px;
	}
}

.wcf-latest-arrow,
.wcf-playlist-arrow{
	display:none !important;
}

.wcf-playlist-stack-layer,
.wcf-playlist-stack-layer-2,
.wcf-playlist-stack-layer-3{
	pointer-events:none;
}

.wcf-playlist-card,
.wcf-card{
	cursor:pointer;
}

.wcf-playlist-track,
.wcf-card-row-scroll{
	-webkit-overflow-scrolling:touch;
	scroll-behavior:smooth;
}

.wcf-card-sub{
	font-size:13px;
	color:#64748b;
	line-height:1.4;
	margin:8px 0 0;
	min-height:36px;
}

.wcf-card-meta{
	font-size:12px;
	color:#94a3b8;
	line-height:1.4;
	margin:6px 0 0;
}

/* Image stays fixed in flex column */
.wcf-card-img{
	flex-shrink:0;
}

.wcf-card-body h3{
	margin-bottom:6px;
}

.wcf-card-body h3,
.wcf-playlist-body h3{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

/* =========================================
   LATEST SERMONS CAROUSEL TEXT OVERRIDES
========================================= */

.wcf-latest-tamil{
	font-size:20px !important;
	line-height:1.55 !important;
	font-weight:600 !important;
	letter-spacing:0.15px !important;
	color:rgba(255,255,255,0.92) !important;
}

@media (max-width:767px){
	.wcf-latest-tamil{
		font-size:15px !important;
		line-height:1.5 !important;
		font-weight:600 !important;
		letter-spacing:0.1px !important;
		color:rgba(255,255,255,0.88) !important;
	}
}

.wcf-section-head a::after{
	content:'→';
	font-size:16px;
	transition:transform .2s ease;
}

.wcf-section-head a:hover::after{
	transform:translateX(3px);
}

/* ------------------------------
   BOOK GRID
------------------------------ */

.wcf-book-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px;
}

/* tablet */
@media (max-width:1024px){
	.wcf-book-grid{
		grid-template-columns:repeat(3,1fr);
	}
}

/* mobile */
@media (max-width:640px){
	.wcf-book-grid{
		grid-template-columns:repeat(2,1fr);
	}
}

/* ------------------------------
   BOOK CARD
------------------------------ */


.wcf-book-thumb img{
	width:100%;
	height:120px;
	object-fit:cover;
	display:block;
}

.wcf-book-body{
	padding:12px;
}

.wcf-book-title{
	font-weight:600;
	font-size:15px;
	color:#111827;
}

.wcf-book-count{
	font-size:13px;
	color:#6b7280;
	margin-top:4px;
}

.wcf-book-card{
	display:block;
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:14px;
	overflow:hidden;
	text-decoration:none;
	transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	box-shadow:0 4px 12px rgba(15,23,42,0.05);
}

.wcf-book-card:hover{
	transform:translateY(-3px);
	box-shadow:0 10px 25px rgba(0,0,0,0.08);
	border-color:#cbd5e1;
}

.wcf-book-card:active{
	transform:scale(0.985);
	box-shadow:0 6px 16px rgba(0,0,0,0.08);
}

.wcf-book-group-title{
	margin:0 0 12px;
	font-size:22px;
	line-height:1.3;
	font-weight:700;
	color:#1f2937;
}

.wcf-book-group{
	margin:16px 0 0;
	padding:18px;
	background:#ffffff;
	border:1px solid #e5e7eb;
	border-radius:18px;
	box-shadow:0 6px 18px rgba(15,23,42,0.04);
}

@media (max-width:640px){
	.wcf-book-group{
		margin:12px 0 0;
		padding:14px;
	}

	.wcf-book-group-title{
		font-size:18px;
		margin-bottom:10px;
	}
}

/* =========================================
   GLOBAL SERMON LIST ITEM (ALL PAGES)
========================================= */

.wcf-sermon-list{
	display:flex;
	flex-direction:column;
	gap:14px;
}

/* CARD */
.wcf-sermon-item{
	position:relative;
	display:flex;
	gap:14px;
	align-items:flex-start;
	padding:12px 14px 12px 16px;
	background:#ffffff;
	border:1px solid #dbe4f0;
	border-radius:16px;
	text-decoration:none;
	box-shadow:0 6px 18px rgba(15,23,42,0.04);
	transition:all .18s ease;
	overflow:hidden;
}

/* LEFT BAR (hidden by default) */
.wcf-sermon-item::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:4px;
	background:#2f5fb8;
	opacity:0;
	transform:scaleY(0.6);
	transition:all .18s ease;
	border-radius:4px;
}

/* HOVER */
.wcf-sermon-item:hover{
	transform:translateY(-2px);
	background:#fbfdff;
	border-color:#c7d8ef;
	box-shadow:0 14px 30px rgba(15,23,42,0.08);
}

.wcf-sermon-item:hover::before{
	opacity:1;
	transform:scaleY(1);
}

/* MOBILE TAP */
.wcf-sermon-item:active::before{
	opacity:1;
	transform:scaleY(1);
}

/* THUMB */
.wcf-sermon-thumb{
	width:118px;
	height:68px;
	object-fit:cover;
	border-radius:8px;
	flex:0 0 auto;
	box-shadow:0 4px 10px rgba(0,0,0,0.08);
}

/* TEXT */
.wcf-sermon-item-content{
	min-width:0;
	flex:1;
}

.wcf-sermon-item-title{
	font-weight:700;
	font-size:18px;
	line-height:1.35;
	color:#0f172a;
}

.wcf-sermon-item-sub{
	margin-top:6px;
	font-size:15px;
	color:#334155;
}

.wcf-sermon-item-ref{
	margin-top:8px;
	font-size:13px;
	color:#64748b;
}

/* MOBILE */
@media (max-width:767px){

	.wcf-sermon-item{
		gap:10px;
		padding:10px 10px 10px 12px;
		border-radius:14px;
	}

	.wcf-sermon-thumb{
		width:104px;
		height:60px;
		border-radius:7px;
	}

	.wcf-sermon-item-title{
		font-size:16px;
		line-height:1.32;
	}

	.wcf-sermon-item-sub{
		font-size:14px;
		line-height:1.42;
		margin-top:4px;
	}

	.wcf-sermon-item-ref{
		font-size:12px;
		margin-top:6px;
	}
}

/* Results count is surfaced via aria-live region; the visible element is intentionally hidden. */
#wcf-results-count{
	display:none !important;
}

/* =========================================
   SERMON TEXT CLAMP (FINAL CLEAN VERSION)
========================================= */

/* Titles (English + variants) */
.wcf-sermon-card-title,
.wcf-sermon-title,
.wcf-sermon-item-title,
.wcf-sermon-list-title{
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	overflow:hidden;
	line-height:1.3;
	max-height:calc(1.3em * 2);
}

/* Tamil / subtitle */
.wcf-sermon-card-subtitle,
.wcf-sermon-title-tamil,
.wcf-sermon-item-sub,
.wcf-sermon-item-subtitle,
.wcf-sermon-list-subtitle{
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	overflow:hidden;
	line-height:1.3;
	max-height:calc(1.3em * 2);
}

/* Reference (always 1 line) */
.wcf-sermon-card-ref,
.wcf-sermon-ref,
.wcf-sermon-item-ref,
.wcf-sermon-list-ref{
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

/* =========================================
   MOBILE TUNING
========================================= */

@media (max-width:767px){

	/* Tamil tighter */
	.wcf-sermon-card-subtitle,
	.wcf-sermon-title-tamil,
	.wcf-sermon-item-sub,
	.wcf-sermon-item-subtitle,
	.wcf-sermon-list-subtitle{
		-webkit-line-clamp:1;
		max-height:calc(1.3em * 1);
	}

	/* Slight tighten */
	.wcf-sermon-title,
	.wcf-sermon-item-title{
		line-height:1.25;
	}

}

/* ======================================================
   CANONICAL HERO SYSTEM
   One source of truth for:
   - intermediate heroes
   - single sermon hero
====================================================== */

/* ---------- Shared surface ---------- */

.wcf-sermon-library-home .wcf-sermon-hero,
.wcf-sermon-single .wcf-sermon-hero{
	position:relative;
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	border-radius:0;
	overflow:hidden;
	background:
		linear-gradient(180deg, rgba(8,18,44,0.58) 0%, rgba(8,18,44,0.82) 100%),
		url('/wp-content/uploads/2026/04/bible-main-banner.jpg') center center / cover no-repeat;
}

.wcf-sermon-library-home .wcf-sermon-hero::before,
.wcf-sermon-single .wcf-sermon-hero::before{
	content:'';
	position:absolute;
	inset:0;
	background:
		linear-gradient(90deg, rgba(6,14,36,0.82) 0%, rgba(6,14,36,0.62) 36%, rgba(6,14,36,0.42) 100%);
	pointer-events:none;
	z-index:0;
}

.wcf-sermon-library-home .wcf-sermon-hero-overlay,
.wcf-sermon-single .wcf-sermon-hero-overlay{
	position:relative;
	z-index:1;
}

/* homepage stays separate */
.wcf-sermon-library-home .wcf-sermon-hero:not(.wcf-inner-hero) .wcf-sermon-hero-overlay{
	padding:78px 0 72px;
}

/* ---------- Shared intermediate + single height ---------- */

.wcf-inner-hero .wcf-sermon-hero-overlay,
.wcf-sermon-single .wcf-single-hero .wcf-sermon-hero-overlay{
	padding:24px 0;
	min-height:220px;
	display:flex;
	align-items:center;
}

.wcf-inner-hero .wcf-sermon-width-wrap,
.wcf-sermon-single .wcf-sermon-width-wrap{
	max-width:1280px;
}

/* ---------- Breadcrumb ---------- */

.wcf-sermon-breadcrumb{
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
	gap:6px;
	min-height:18px;
	margin:0 0 10px;
	font-size:14px;
	line-height:1.25;
	font-weight:600;
	color:rgba(255,255,255,0.96);
	position:relative;
	z-index:2;
	overflow:hidden;
}

.wcf-sermon-breadcrumb a,
.wcf-sermon-breadcrumb span{
	color:rgba(255,255,255,0.96);
	text-decoration:none;
	line-height:1.25;
	white-space:nowrap;
}

.wcf-sermon-breadcrumb a:hover,
.wcf-sermon-breadcrumb a:focus,
.wcf-sermon-breadcrumb a:active{
	color:#ffffff !important;
	text-decoration:underline;
}

.wcf-sermon-breadcrumb span,
.wcf-sermon-breadcrumb .current{
	color:rgba(255,255,255,0.78);
}

/* ---------- Shared hero alignment ---------- */

.wcf-inner-hero .wcf-single-hero-grid,
.wcf-sermon-single .wcf-single-hero-grid{
	display:grid;
	grid-template-columns:180px minmax(0, 1fr) auto;
	gap:18px;
	align-items:center;
	min-height:0;
	position:relative;
	z-index:2;
}

.wcf-inner-hero .wcf-single-hero-grid{
	grid-template-columns:180px minmax(0, 1fr);
}

.wcf-inner-hero .wcf-single-hero-thumb,
.wcf-sermon-single .wcf-single-hero-thumb{
	width:180px;
	max-width:180px;
}

.wcf-inner-hero .wcf-single-hero-thumb img,
.wcf-sermon-single .wcf-single-hero-thumb img{
	display:block;
	width:180px;
	height:102px;
	object-fit:cover;
	border-radius:12px;
	box-shadow:0 8px 18px rgba(0,0,0,0.18);
}

.wcf-inner-hero .wcf-single-hero-main,
.wcf-sermon-single .wcf-single-hero-main{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-self:center;
	min-width:0;
	min-height:102px;
	position:relative;
	z-index:2;
}

/* ---------- Intermediate hero text ---------- */

.wcf-inner-hero .wcf-single-title{
	margin:0 0 8px;
	color:#ffffff;
	font-size:clamp(30px, 3vw, 44px);
	line-height:1.1;
	font-weight:600;
	letter-spacing:-0.01em;
	word-break:break-word;
	overflow-wrap:anywhere;
}

.wcf-inner-hero .wcf-inner-hero-subtitle{
	margin:0 0 8px;
	color:rgba(255,255,255,0.92);
	font-size:clamp(16px, 1.2vw, 19px);
	line-height:1.34;
	font-weight:400;
}

.wcf-inner-hero .wcf-single-meta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px;
	color:rgba(255,255,255,0.88);
	font-size:13px;
	line-height:1.28;
	font-weight:400;
}

/* ---------- Single sermon text ---------- */

.wcf-sermon-single .wcf-single-title{
	margin:0 0 8px;
	color:#ffffff;
	font-size:clamp(22px, 2.3vw, 30px);
	line-height:1.1;
	font-weight:600;
	letter-spacing:-0.01em;
	word-break:break-word;
	overflow-wrap:break-word;
	max-width:none;
	width:100%;
}

.wcf-sermon-single .wcf-single-tamil{
	margin:0 0 7px;
	color:rgba(255,255,255,0.92);
	font-size:clamp(13px, 1vw, 16px);
	line-height:1.28;
	font-weight:400;
	word-break:break-word;
	overflow-wrap:break-word;
	max-width:none;
	width:100%;
}

.wcf-sermon-single .wcf-single-meta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px;
	color:rgba(255,255,255,0.88);
	font-size:12px;
	line-height:1.26;
	font-weight:400;
}

/* ---------- Badge ---------- */

.wcf-sermon-single .wcf-single-hero-side{
	justify-self:end;
	align-self:center;
}

.wcf-ref-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:36px;
	padding:0 12px;
	border-radius:10px;
	background:rgba(255,255,255,0.10);
	border:1px solid rgba(255,255,255,0.10);
	box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
	color:#ffffff;
	font-size:13px;
	font-weight:600;
	font-style:italic;
}

/* ---------- Content after hero ---------- */

.wcf-inner-hero + .wcf-sermon-main,
.wcf-sermon-single .wcf-single-main{
	padding-top:24px;
}

/* ---------- Tablet ---------- */

@media (max-width:1024px){

	.wcf-inner-hero .wcf-single-hero-grid,
	.wcf-sermon-single .wcf-single-hero-grid{
		grid-template-columns:150px minmax(0, 1fr) auto;
		gap:14px;
		align-items:center;
	}

	.wcf-inner-hero .wcf-single-hero-grid{
		grid-template-columns:150px minmax(0, 1fr);
	}

	.wcf-inner-hero .wcf-single-hero-thumb,
	.wcf-sermon-single .wcf-single-hero-thumb{
		width:150px;
		max-width:150px;
	}

	.wcf-inner-hero .wcf-single-hero-thumb img,
	.wcf-sermon-single .wcf-single-hero-thumb img{
		width:150px;
		height:86px;
	}

	.wcf-sermon-single .wcf-single-hero-side{
		display:block;
		justify-self:end;
		align-self:center;
	}

	.wcf-sermon-single .wcf-ref-badge{
		min-height:30px;
		padding:0 10px;
		font-size:11px;
		border-radius:9px;
	}
}

/* ---------- Mobile ---------- */

@media (max-width:767px){

	.wcf-sermon-breadcrumb{
		min-height:16px;
		margin:0 0 8px;
		font-size:12px;
		line-height:1.2;
		gap:4px;
	}

	.wcf-inner-hero .wcf-sermon-hero-overlay,
	.wcf-sermon-single .wcf-single-hero .wcf-sermon-hero-overlay{
		padding:18px 0;
		min-height:0;
	}

	.wcf-inner-hero .wcf-single-hero-grid,
	.wcf-sermon-single .wcf-single-hero-grid{
		grid-template-columns:72px minmax(0, 1fr);
		gap:8px;
		align-items:start;
	}

	.wcf-inner-hero .wcf-single-hero-thumb,
	.wcf-sermon-single .wcf-single-hero-thumb{
		display:block;
		width:72px;
		max-width:72px;
	}

	.wcf-inner-hero .wcf-single-hero-thumb img,
	.wcf-sermon-single .wcf-single-hero-thumb img{
		display:block;
		width:72px;
		height:48px;
		object-fit:cover;
		border-radius:8px;
		box-shadow:0 6px 12px rgba(0,0,0,0.15);
	}

	.wcf-inner-hero .wcf-single-hero-main,
	.wcf-sermon-single .wcf-single-hero-main{
		min-height:64px;
	}

	.wcf-inner-hero .wcf-single-hero-main{
		padding-bottom:24px;
	}

	.wcf-inner-hero .wcf-single-title,
	.wcf-sermon-single .wcf-single-title{
		font-size:clamp(15px, 5.2vw, 20px);
		line-height:1.1;
		margin-bottom:4px;
	}

	.wcf-inner-hero .wcf-inner-hero-subtitle,
	.wcf-sermon-single .wcf-single-tamil{
		font-size:11px;
		line-height:1.24;
		margin-bottom:4px;
	}

	.wcf-inner-hero .wcf-single-meta,
	.wcf-sermon-single .wcf-single-meta{
		font-size:10px;
		line-height:1.18;
		gap:3px;
	}

	.wcf-sermon-single .wcf-single-hero-main{
		position:relative;
		padding-right:0;
	}

	.wcf-sermon-single .wcf-single-hero-side{
		display:flex;
		justify-content:flex-end;
		align-items:center;
		position:static;
		margin-top:4px;
		grid-column:2;
	}

	.wcf-sermon-single .wcf-ref-badge{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		min-height:20px !important;
		height:20px !important;
		padding:0 6px !important;
		font-size:8px !important;
		line-height:1 !important;
		font-weight:600;
		border-radius:7px !important;
		white-space:nowrap;
	}

	.wcf-sermon-single .wcf-ref-badge *{
		font-size:8px !important;
		line-height:1 !important;
	}
}

@media (min-width:768px) and (max-width:1024px){

	.wcf-inner-hero .wcf-sermon-hero-overlay,
	.wcf-sermon-single .wcf-single-hero .wcf-sermon-hero-overlay{
		padding:20px 0;
		min-height:190px;
	}

	.wcf-inner-hero .wcf-single-hero-grid,
	.wcf-sermon-single .wcf-single-hero-grid{
		grid-template-columns:140px minmax(0, 1fr);
		gap:14px;
		align-items:center;
	}

	.wcf-inner-hero .wcf-single-hero-thumb,
	.wcf-sermon-single .wcf-single-hero-thumb{
		width:140px;
		max-width:140px;
	}

	.wcf-inner-hero .wcf-single-hero-thumb img,
	.wcf-sermon-single .wcf-single-hero-thumb img{
		width:140px;
		height:82px;
		border-radius:10px;
	}

	.wcf-inner-hero .wcf-single-title{
		font-size:clamp(24px, 3.2vw, 32px);
		line-height:1.1;
	}

	.wcf-sermon-single .wcf-single-title{
		font-size:clamp(20px, 2.8vw, 28px);
		line-height:1.1;
	}

	.wcf-inner-hero .wcf-inner-hero-subtitle,
	.wcf-sermon-single .wcf-single-tamil{
		font-size:13px;
		line-height:1.28;
	}

	.wcf-inner-hero .wcf-single-meta,
	.wcf-sermon-single .wcf-single-meta{
		font-size:11px;
		line-height:1.2;
		gap:4px;
	}

	.wcf-sermon-breadcrumb{
		font-size:13px;
		line-height:1.2;
		margin-bottom:8px;
	}
}

/* =========================================
   MOBILE HEADER + DRAWER POLISH (CLEAN)
========================================= */

@media (max-width:767px){

	/* header shell */
	.site-header{
		padding:6px 12px !important;
	}

	.site-header .inside-header{
		padding:0 !important;
		min-height:52px !important;
		align-items:center !important;
	}

	/* logo: proportional shrink */
	.site-logo img,
	.custom-logo{
		width:auto !important;
		height:auto !important;
		max-width:54px !important;
		max-height:54px !important;
		object-fit:contain !important;
	}

	.site-branding{
		margin:0 !important;
		display:flex !important;
		align-items:center !important;
	}

	/* menu toggle / close button */
	.main-navigation .menu-toggle{
		top:10px !important;
		right:14px !important;
		padding:8px !important;
		min-height:auto !important;
	}

	/* drawer shell */
	.main-navigation.toggled{
		padding-top:0 !important;
	}

	/* THIS is usually where the extra gap comes from */
	.main-navigation.toggled .inside-navigation{
		padding-top:0 !important;
		padding-bottom:12px !important;
		padding-left:16px !important;
		padding-right:16px !important;
	}

	/* tighten main nav wrapper */
	.main-navigation.toggled .main-nav{
		margin-top:0 !important;
		padding-top:0 !important;
	}

	/* drawer list box */
	.main-navigation.toggled .main-nav ul{
		padding:0 !important;
		margin:0 !important;
		text-align:right !important;
	}

	/* tighter vertical spacing between items */
	.main-navigation.toggled .main-nav ul li{
		margin:0 0 10px !important;
	}

	.main-navigation.toggled .main-nav ul li:last-child{
		margin-bottom:0 !important;
	}

	/* links */
	.main-navigation.toggled .main-nav ul li a{
		display:block !important;
		padding:4px 0 !important;
		font-size:17px !important;
		line-height:1.25 !important;
		font-weight:600 !important;
		text-align:right !important;
	}
}


.wcf-single-main{
	padding:34px 0 60px;
}

.wcf-single-width{
	max-width:1240px;
	margin:0 auto;
	width:100%;
}

.wcf-single-card{
	background:#fff;
	border:1px solid #e6eaf0;
	border-radius:20px;
	padding:28px;
	box-shadow:0 8px 24px rgba(16,24,40,0.06);
	box-sizing:border-box;
}

/* ------------------------------
   HERO MEDIA
------------------------------ */

.wcf-hero-media-block{
	margin-bottom:16px;
}

.wcf-youtube-home-slot{
	width:100%;
}

.wcf-yt-wrap{
	position:relative;
	padding-top:56.25%;
	border-radius:18px;
	overflow:hidden;
	background:#000;
	box-shadow:0 10px 28px rgba(16,24,40,0.14);
}

.wcf-yt-iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}

.wcf-media-actions-standalone{
	margin-bottom:22px;
}

/* ------------------------------
   ACTION BUTTONS
------------------------------ */

.wcf-media-action-btn,
.wcf-pdf-mini-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:14px;
	background:rgba(31,66,135,0.04);
	color:#183b7a;
	font-weight:600;
	text-decoration:none;
	transition:all .18s ease;
	box-sizing:border-box;
	border:1px solid rgba(25,58,122,0.12);
	box-shadow:none;
}

.wcf-media-action-btn{
	min-height:42px;
	padding:0 16px;
	cursor:pointer;
}

.wcf-media-action-btn:hover{
	background:rgba(31,66,135,0.08);
	border-color:rgba(25,58,122,0.20);
	color:#183b7a;
	text-decoration:none;
}

.wcf-media-action-btn.is-link{
	cursor:pointer;
}

.wcf-pdf-mini-btn{
	min-height:34px;
	padding:0 12px;
	font-size:13px;
}

.wcf-pdf-mini-btn:hover{
	background:rgba(31,66,135,0.08);
	border-color:rgba(25,58,122,0.20);
	color:#183b7a;
	text-decoration:none;
}

/* ------------------------------
   TOP ACTION ROW
------------------------------ */

.wcf-top-actions-row{
	display:flex;
	align-items:center;
	gap:12px;
	flex-wrap:nowrap;
	margin:12px 0 20px;
}

.wcf-top-actions-row .wcf-single-tabs{
	order:1;
	display:flex;
	align-items:center;
	gap:10px;
	flex:0 1 auto;
	min-width:0;
	margin:0;
	overflow-x:auto;
	scrollbar-width:none;
}

.wcf-top-actions-row .wcf-single-tabs::-webkit-scrollbar{
	display:none;
}

.wcf-top-actions-row .wcf-media-actions{
	order:2;
	display:inline-flex;
	align-items:center;
	flex:0 0 auto;
	width:auto !important;
	min-width:0;
	margin:0 0 0 auto;
}

.wcf-top-actions-row .wcf-media-action-btn{
	display:inline-flex;
	width:auto !important;
	white-space:nowrap;
	min-height:44px;
	padding:0 18px;
	border-radius:12px;
}

/* ------------------------------
   TABS
------------------------------ */

.wcf-single-tab-panels{
	width:100%;
	margin-top:0;
}

.wcf-single-tab-panel{
	display:none;
	width:100%;
	position:relative;
}

.wcf-single-tab-panel.active{
	display:block;
	width:100%;
}

.wcf-single-tab{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	white-space:nowrap;
	min-height:44px;
	min-width:108px;
	padding:0 18px;
	border-radius:14px;
	border:1px solid rgba(25,58,122,0.12);
	background:rgba(31,66,135,0.04);
	color:#183b7a;
	font-weight:600;
	cursor:pointer;
	text-decoration:none;
	transition:all .18s ease;
	box-sizing:border-box;
	margin:0;
	box-shadow:none;
}

.wcf-single-tab:hover{
	background:rgba(31,66,135,0.08);
	border-color:rgba(25,58,122,0.20);
	color:#183b7a;
	text-decoration:none;
}

.wcf-single-tab.active{
	background:#1f4287;
	border-color:#1f4287;
	color:#fff;
	box-shadow:0 8px 18px rgba(31,66,135,0.18);
}

.wcf-tab-content-rail{
	width:100%;
	max-width:1240px;
	margin:0 auto;
	padding:0;
}

/* ------------------------------
   HTML NOTES
------------------------------ */

.wcf-notes-content{
	width:100%;
	box-sizing:border-box;
	background:#fff;
	border:1px solid #e6eaf0;
	border-radius:18px;
	box-shadow:0 8px 24px rgba(16,24,40,0.05);
	padding:34px 38px;
	line-height:1.85;
	font-size:17px;
}

/* =========================================
   HTML NOTES — CONTENT HARDENING (NEW)
========================================= */

.wcf-notes-content *{
	max-width:100%;
	box-sizing:border-box;
}

/* spacing reset */
.wcf-notes-content p,
.wcf-notes-content ul,
.wcf-notes-content ol,
.wcf-notes-content blockquote,
.wcf-notes-content pre,
.wcf-notes-content table,
.wcf-notes-content figure{
	margin:0 0 20px;
}

.wcf-notes-content p:last-child,
.wcf-notes-content ul:last-child,
.wcf-notes-content ol:last-child,
.wcf-notes-content blockquote:last-child{
	margin-bottom:0;
}

/* 🔥 MAIN FIX: blockquote */
.wcf-notes-content blockquote{
	margin:0 0 22px;
	padding-left:14px;
	border-left:4px solid #e5e7eb;
	color:#4b5563;
	font-style:italic;
	font-size:0.96em;
	line-height:1.7;
}

/* headings */
.wcf-notes-content h1,
.wcf-notes-content h2,
.wcf-notes-content h3,
.wcf-notes-content h4{
	margin:0 0 14px;
	line-height:1.25;
}

/* images */
.wcf-notes-content img{
	display:block;
	max-width:100%;
	height:auto;
	border-radius:12px;
}

/* tables */
.wcf-notes-content table{
	display:block;
	width:100%;
	overflow-x:auto;
	border-collapse:collapse;
}

.wcf-notes-content td,
.wcf-notes-content th{
	border:1px solid #e6eaf0;
	padding:8px 10px;
}

/* pre/code */
.wcf-notes-content pre{
	overflow:auto;
	padding:12px;
	background:#f8fafc;
	border-radius:10px;
}

/* MOBILE FIXES */
@media (max-width:640px){

	.wcf-notes-content{
		padding:20px 16px;
		font-size:16px;
	}

	/* 🔥 CRITICAL: prevent narrow text */
	.wcf-notes-content blockquote{
		padding-left:12px;
		margin-left:0;
		margin-right:0;
		font-size:0.93em;
		line-height:1.65;
	}

}


/* =========================================
   HTML NOTES — CONTENT HARDENING (NEW)
========================================= */

.wcf-notes-content *{
	max-width:100%;
	box-sizing:border-box;
}

/* spacing reset */
.wcf-notes-content p,
.wcf-notes-content ul,
.wcf-notes-content ol,
.wcf-notes-content blockquote,
.wcf-notes-content pre,
.wcf-notes-content table,
.wcf-notes-content figure{
	margin:0 0 20px;
}

.wcf-notes-content p:last-child,
.wcf-notes-content ul:last-child,
.wcf-notes-content ol:last-child,
.wcf-notes-content blockquote:last-child{
	margin-bottom:0;
}

/* 🔥 MAIN FIX: blockquote */
.wcf-notes-content blockquote{
	margin:0 0 22px;
	padding-left:14px;
	border-left:4px solid #e5e7eb;
	color:#4b5563;
	font-style:italic;
	font-size:0.96em;
	line-height:1.7;
}

/* headings */
.wcf-notes-content h1,
.wcf-notes-content h2,
.wcf-notes-content h3,
.wcf-notes-content h4{
	margin:0 0 14px;
	line-height:1.25;
}

/* images */
.wcf-notes-content img{
	display:block;
	max-width:100%;
	height:auto;
	border-radius:12px;
}

/* tables */
.wcf-notes-content table{
	display:block;
	width:100%;
	overflow-x:auto;
	border-collapse:collapse;
}

.wcf-notes-content td,
.wcf-notes-content th{
	border:1px solid #e6eaf0;
	padding:8px 10px;
}

/* pre/code */
.wcf-notes-content pre{
	overflow:auto;
	padding:12px;
	background:#f8fafc;
	border-radius:10px;
}

/* MOBILE FIXES */
@media (max-width:640px){

	.wcf-notes-content{
		padding:20px 16px;
		font-size:16px;
	}

	/* 🔥 CRITICAL: prevent narrow text */
	.wcf-notes-content blockquote{
		padding-left:12px;
		margin-left:0;
		margin-right:0;
		font-size:0.93em;
		line-height:1.65;
	}

}

.wcf-notes-content > :first-child{
	margin-top:0;
}

.wcf-notes-content > :last-child{
	margin-bottom:0;
}

/* ------------------------------
   PDF VIEWER
------------------------------ */

.wcf-pdf-panel{
	width:100%;
	max-width:100%;
	margin:0;
	position:relative;
}

.wcf-pdf-topbar{
	display:flex;
	justify-content:flex-end;
	gap:8px;
	margin:0 0 10px;
}

.wcf-pdf-reader{
	width:100%;
	box-sizing:border-box;
	background:#fff;
	border:1px solid #e6eaf0;
	border-radius:18px;
	padding:4px;
	min-height:0;
	position:relative;
}

.wcf-pdf-loading,
.wcf-pdf-error{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:60vh;
	color:#667085;
	font-size:15px;
	text-align:center;
}

.wcf-pdf-page{
	width:100%;
	max-width:none;
	margin:0 0 20px;
	background:transparent;
	border-radius:0;
	box-shadow:none;
	overflow:hidden;
}

.wcf-pdf-page:last-child{
	margin-bottom:0;
}

.wcf-pdf-canvas{
	display:block;
	width:100%;
	height:auto;
}


/* ------------------------------
   STICKY MEDIA DOCK
------------------------------ */

.wcf-sticky-media-dock{
	position:fixed;
	right:18px;
	bottom:18px;
	z-index:9999;
	width:min(420px, calc(100vw - 24px));
}

.wcf-sticky-media-dock[hidden]{
	display:none !important;
}

.wcf-sticky-media-inner{
	position:relative;
	background:rgba(255,255,255,0.98);
	border:1px solid #e6eaf0;
	border-radius:18px;
	box-shadow:0 18px 40px rgba(16,24,40,0.16);
	backdrop-filter:blur(10px);
	overflow:hidden;
	padding:12px;
}

.wcf-sticky-slot{
	width:100%;
}

#wcf-sticky-youtube-slot .wcf-yt-wrap{
	margin:0;
	border-radius:14px;
	box-shadow:none;
}

.wcf-sticky-spotify-frame{
	display:block;
	width:100%;
	height:152px;
	border:0;
	border-radius:14px;
	background:#f8fafc;
}

.wcf-sticky-media-close{
	position:absolute;
	top:8px;
	right:10px;
	width:28px;
	height:28px;
	border-radius:50%;
	border:1px solid #d7deea;
	background:#fff;
	color:#1f4287;
	font-size:16px;
	font-weight:700;
	cursor:pointer;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
}

.wcf-sticky-media-close:hover{
	background:#1f4287;
	color:#fff;
	border-color:#1f4287;
}

/* ------------------------------
   RESPONSIVE
------------------------------ */

@media (max-width:1024px){
	.wcf-single-width{
		max-width:960px;
	}

	.wcf-tab-content-rail{
		max-width:100%;
		padding:0 2px;
	}

}

@media (max-width:900px){

	.wcf-single-card{
		padding:20px;
	}
}

@media (max-width:640px){
	.wcf-single-main{
		padding:18px 0 38px;
	}

	.wcf-single-card{
		padding:16px;
		border-radius:16px;
	}

	.wcf-top-actions-row{
		flex-direction:column;
		align-items:stretch;
		gap:12px;
		margin:12px 0 18px;
		padding:0;
		border-bottom:0;
	}

	.wcf-top-actions-row .wcf-single-tabs{
		width:100%;
		display:flex;
		gap:10px;
	}

	.wcf-top-actions-row .wcf-single-tab{
		flex:1 1 0;
		min-width:0;
		padding:0 14px;
	}

	.wcf-top-actions-row .wcf-media-actions{
		width:100% !important;
		display:flex;
		margin:0;
	}

	.wcf-top-actions-row .wcf-media-action-btn{
		width:100% !important;
		justify-content:center;
		min-height:42px;
		border-radius:14px;
		min-width:0;
		font-weight:600;
	}

	.wcf-single-tab-panels{
		padding-top:16px;
	}

	.wcf-notes-content{
		padding:20px 16px;
		border-radius:16px;
	}

	.wcf-pdf-reader{
		padding:2px;
		border-radius:16px;
	}

	.wcf-pdf-page{
		margin-bottom:12px;
	}


	.wcf-pdf-topbar{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:10px;
		margin:4px 0 12px;
	}

	.wcf-pdf-mini-btn{
		width:100%;
		min-height:40px;
		border-radius:14px;
		font-size:14px;
	}

}

.wcf-yt-wrap.is-sticky-player{
	position:fixed;
	right:18px;
	bottom:18px;
	width:min(420px, calc(100vw - 24px));
	padding-top:236px;
	z-index:9999;
	border-radius:18px;
	box-shadow:0 18px 40px rgba(16,24,40,0.16);
}

.wcf-sticky-player-close{
	display:none;
	position:absolute;
	top:8px;
	right:10px;
	width:28px;
	height:28px;
	border-radius:50%;
	border:1px solid #d7deea;
	background:#fff;
	color:#1f4287;
	font-size:16px;
	font-weight:700;
	cursor:pointer;
	z-index:10001;
	align-items:center;
	justify-content:center;
	box-shadow:0 6px 16px rgba(16,24,40,0.18);
}

.wcf-sticky-player-close:hover{
	background:#1f4287;
	color:#fff;
	border-color:#1f4287;
}

.wcf-yt-wrap.is-sticky-player .wcf-sticky-player-close{
	display:flex;
}

@media (max-width:640px){
	.wcf-sticky-player-close{
		top:6px;
		right:8px;
	}
}

/* ------------------------------
   STICKY SERMON BAR
------------------------------ */

.wcf-sticky-sermon-bar{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:9998;
	background:rgba(22, 30, 48, 0.82);
	backdrop-filter:blur(18px) saturate(140%);
	-webkit-backdrop-filter:blur(18px) saturate(140%);
	border-bottom:1px solid rgba(255,255,255,0.08);
	box-shadow:0 8px 24px rgba(0,0,0,0.10);
}

.wcf-sticky-sermon-bar[hidden]{
	display:none !important;
}

.wcf-sticky-sermon-bar-inner{
	display:grid;
	grid-template-columns:minmax(0, 1fr) auto;
	grid-template-rows:auto auto;
	gap:4px 16px;
	align-items:center;
	padding:10px 14px 9px;
	min-height:auto;
}

.wcf-sticky-sermon-title{
	grid-column:1;
	grid-row:1;
	min-width:0;
	color:rgba(255,255,255,0.98);
	font-size:18px;
	font-weight:700;
	line-height:1.22;
	letter-spacing:-0.01em;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	text-align:left;
	font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.wcf-sticky-sermon-ref{
	grid-column:2;
	grid-row:1;
	color:rgba(255,255,255,0.82);
	font-size:13px;
	font-style:italic;
	font-weight:500;
	line-height:1.2;
	white-space:nowrap;
	text-align:right;
}

.wcf-sticky-sermon-back{
	grid-column:1 / -1;
	grid-row:2;
	display:inline-flex;
	align-items:center;
	gap:6px;
	width:max-content;
	color:rgba(255,255,255,0.68);
	text-decoration:none;
	font-size:12px;
	font-weight:500;
	line-height:1.25;
	letter-spacing:-0.005em;
	-webkit-tap-highlight-color:transparent;
	outline:none;
	transition:color .16s ease, opacity .16s ease;
	margin-left:-2px;
}

.wcf-sticky-sermon-back:hover{
	color:rgba(255,255,255,0.92);
	text-decoration:none;
}

.wcf-sticky-sermon-back:focus,
.wcf-sticky-sermon-back:active{
	color:rgba(255,255,255,0.80);
	background:none;
	outline:none;
}

@media (min-width:641px){
	.wcf-sticky-sermon-bar-inner{
		padding:11px 14px 10px;
		gap:5px 18px;
	}
}

@media (max-width:640px){
	.wcf-sticky-sermon-bar-inner{
		display:grid;
		grid-template-columns:1fr auto;
		grid-template-rows:auto auto;
		gap:3px 10px;
		padding:9px 14px 8px;
		align-items:center;
	}

	.wcf-sticky-sermon-title{
		grid-column:1 / -1;
		grid-row:1;
		font-size:15px;
		line-height:1.28;
	}

	.wcf-sticky-sermon-back{
		grid-column:1;
		grid-row:2;
		font-size:11px;
		line-height:1.25;
	}

	.wcf-sticky-sermon-ref{
		grid-column:2;
		grid-row:2;
		font-size:11px;
		line-height:1.25;
		opacity:0.85;
		text-align:right;
		justify-self:end;
	}
}

.wcf-yt-poster{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	padding:0;
	border:0;
	margin:0;
	background:#000;
	cursor:pointer;
	display:block;
	overflow:hidden;
	border-radius:inherit;
	z-index:4;
}

.wcf-yt-poster-img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
}

.wcf-yt-poster-play{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	width:68px;
	height:48px;
	border-radius:14px;
	background:rgba(9,20,43,0.82);
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 10px 24px rgba(0,0,0,0.24);
	z-index:2;
}

.wcf-yt-poster-triangle{
	width:0;
	height:0;
	border-top:10px solid transparent;
	border-bottom:10px solid transparent;
	border-left:16px solid #fff;
	margin-left:3px;
}

.wcf-yt-iframe-slot{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	z-index:3;
}

.wcf-yt-poster[hidden]{
	display:none !important;
	pointer-events:none !important;
}

.wcf-yt-iframe-slot[hidden]{
	display:none !important;
}

.wcf-yt-wrap iframe.wcf-yt-iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
	display:block;
}