/* [odysee_videos] shortcode - dark card design */

.odv{
	--odv-bg:#141312;
	--odv-card:#1b1a17;
	--odv-border:#2c2b25;
	--odv-accent:#f5c518;
	--odv-text:#fff;
	--odv-cols:3;
	box-sizing:border-box;
	width:100%;
	background:var(--odv-bg);
	color:var(--odv-text);
}
.odv *{box-sizing:border-box}

.odv-heading{
	margin:0 0 24px;
	padding:0;
	color:var(--odv-text);
	font-family:"Archivo Black","Arial Black","Helvetica Neue",Arial,sans-serif;
	font-size:28px;
	font-weight:900;
	line-height:1.15;
	letter-spacing:.5px;
	text-transform:uppercase;
}

.odv-grid{
	display:grid;
	grid-template-columns:repeat(var(--odv-cols),minmax(0,1fr));
	gap:18px;
}

.odv-card{
	min-width:0;
	padding:14px 14px 22px;
	background:var(--odv-card);
	border:1px solid var(--odv-border);
}

.odv-media{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	aspect-ratio:16/9;
	overflow:hidden;
	background:#2a2925;
	color:#8a8677;
	font-size:13px;
	text-decoration:none;
	cursor:pointer;
}
.odv-media img{
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
	max-width:none;
	margin:0;
	object-fit:cover;
}

.odv-play{
	position:absolute;
	top:50%;left:50%;
	width:52px;height:52px;
	transform:translate(-50%,-50%);
	border-radius:50%;
	background:var(--odv-accent);
	transition:transform .2s ease;
}
.odv-play::after{
	content:"";
	position:absolute;
	top:50%;left:50%;
	transform:translate(-38%,-50%);
	border-style:solid;
	border-width:9px 0 9px 14px;
	border-color:transparent transparent transparent #141312;
}
.odv-media:hover .odv-play{transform:translate(-50%,-50%) scale(1.1)}

/* after click: player */
.odv-media.odf-playing{cursor:default}
.odv-media iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}

.odv-title{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	margin:14px 0 0;
	padding:0;
	color:var(--odv-text);
	font-size:15px;
	font-weight:700;
	line-height:1.4;
	letter-spacing:0;
	text-transform:none;
}

.odv-more{margin:28px 0 0;text-align:center}
.odv-more a{
	color:var(--odv-accent);
	font-size:14px;
	font-weight:800;
	letter-spacing:.5px;
	text-transform:uppercase;
	text-decoration:none;
}
.odv-more a:hover{text-decoration:underline}

@media (max-width:900px){
	.odv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
	.odv-grid{grid-template-columns:1fr}
	.odv-heading{font-size:24px}
}
