.cvf-feed{display:grid;grid-template-columns:repeat(var(--cvf-columns),minmax(0,1fr));gap:var(--cvf-gap);background:var(--cvf-bg);color:var(--cvf-text);width:100%;box-sizing:border-box}.cvf-feed *{box-sizing:border-box}.cvf-card{min-width:0;background:var(--cvf-card);overflow:hidden;border-radius:var(--cvf-radius)}.cvf-thumbnail{display:block;position:relative;aspect-ratio:var(--cvf-ratio);overflow:hidden;background:#111}.cvf-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.cvf-thumbnail:hover img{transform:scale(1.035)}.cvf-duration{position:absolute;right:9px;bottom:9px;background:rgba(0,0,0,.82);color:#fff;padding:2px 6px;border-radius:3px;font-size:12px;font-weight:600}.cvf-content{padding:12px 2px 16px}.cvf-title{font-size:var(--cvf-title-size);line-height:1.35;margin:0 0 7px;font-weight:650}.cvf-title a{color:var(--cvf-text);text-decoration:none}.cvf-title a:hover{text-decoration:underline}.cvf-date,.cvf-channel{display:block;color:var(--cvf-muted);font-size:13px;line-height:1.5}.cvf-description{color:var(--cvf-muted);font-size:14px;line-height:1.55;margin:9px 0 0}.cvf-list{grid-template-columns:1fr}.cvf-list .cvf-card{display:grid;grid-template-columns:minmax(140px,32%) 1fr;gap:18px;align-items:start}.cvf-list .cvf-content{padding:2px 8px 12px 0}.cvf-single{grid-template-columns:1fr;max-width:100%}.cvf-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding-bottom:12px}.cvf-carousel .cvf-card{flex:0 0 calc((100% - (var(--cvf-columns) - 1)*var(--cvf-gap))/var(--cvf-columns));scroll-snap-align:start}@media(max-width:900px){.cvf-grid{grid-template-columns:repeat(var(--cvf-tablet),minmax(0,1fr))}.cvf-carousel .cvf-card{flex-basis:calc((100% - (var(--cvf-tablet) - 1)*var(--cvf-gap))/var(--cvf-tablet))}}@media(max-width:600px){.cvf-grid{grid-template-columns:repeat(var(--cvf-mobile),minmax(0,1fr))}.cvf-carousel .cvf-card{flex-basis:calc((100% - (var(--cvf-mobile) - 1)*var(--cvf-gap))/var(--cvf-mobile))}.cvf-list .cvf-card{grid-template-columns:1fr;gap:0}.cvf-list .cvf-content{padding:12px 2px 16px}}@media(prefers-reduced-motion:reduce){.cvf-thumbnail img{transition:none}}
.cvf-more-wrap{text-align:center;margin:24px 0}.cvf-more{border:0;border-radius:6px;padding:12px 26px;font:inherit;font-weight:600;cursor:pointer}.cvf-more:hover{filter:brightness(1.12)}.cvf-more:disabled{opacity:.6;cursor:wait}.cvf-more-status{display:block;margin-top:8px;font-size:13px}.cvf-more:focus-visible{outline:3px solid currentColor;outline-offset:3px}

/* v1.3: compact, clean titles and thumbnails without cropped corners */
.cvf-wrapper .cvf-title{font-size:var(--cvf-title-size,17px)!important;line-height:1.35!important;font-weight:600!important}.cvf-wrapper .cvf-title a,.cvf-wrapper .cvf-title a:hover,.cvf-wrapper .cvf-title a:focus,.cvf-wrapper .cvf-title a:visited{text-decoration:none!important;box-shadow:none!important;border-bottom:0!important}.cvf-wrapper .cvf-card{border-radius:0!important;overflow:visible!important}.cvf-wrapper .cvf-thumbnail{border-radius:0!important}.cvf-wrapper .cvf-more-link{display:inline-block;text-decoration:none!important}.cvf-wrapper .cvf-more-link:hover{text-decoration:none!important;filter:brightness(1.12)}

/* Date-labelled sermon videos: overlay stays inside the thumbnail. */
.cvf-feed .cvf-sermon-badge{position:absolute;z-index:2;top:10px;left:10px;display:inline-block;background:#20252b;color:#fff;padding:5px 10px;border-radius:3px;font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.03em;text-transform:uppercase;pointer-events:none;box-shadow:0 1px 4px rgba(0,0,0,.18)}
