/**
 * Vedette Classic Editor Pro - Frontend Responsive Video & Editorial Styles
 *
 * Provides responsive aspect ratio containers for video embeds (YouTube, Vimeo,
 * TikTok, Instagram Reels, self-hosted MP4/WebM), Star Review Badges,
 * Editorial Pullquotes, and Breaking Callout boxes.
 */

/* ==========================================================================
   1. Responsive Video Embeds & Wrappers
   ========================================================================== */
.vce-video-wrapper {
	margin: 32px 0;
	padding: 0;
	max-width: 100%;
	clear: both;
}

/* Vertical video (Shorts, TikTok, Reels) constraint for large screens */
.vce-wrap-9-16 {
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}

/* Square video constraint */
.vce-wrap-1-1 {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

/* Aspect-ratio responsive container trick */
.vce-responsive-embed {
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	background-color: #0b0b0f;
	border-radius: 10px;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
}

/* Ratios */
.vce-responsive-embed.vce-ratio-16-9,
.vce-responsive-embed:not([class*="vce-ratio-"]) {
	padding-top: 56.25%; /* 16:9 Standard */
}

.vce-responsive-embed.vce-ratio-9-16 {
	padding-top: 177.77%; /* 9:16 Vertical */
}

.vce-responsive-embed.vce-ratio-1-1 {
	padding-top: 100%; /* 1:1 Square */
}

.vce-responsive-embed.vce-ratio-4-3 {
	padding-top: 75%; /* 4:3 Classic */
}

/* Child media elements fill container precisely */
.vce-responsive-embed iframe,
.vce-responsive-embed video,
.vce-responsive-embed object,
.vce-responsive-embed embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	margin: 0;
	padding: 0;
}

.vce-html5-video {
	object-fit: contain;
	background-color: #000;
}

/* Video Caption */
.vce-video-caption {
	display: block;
	margin-top: 12px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 0.85rem;
	line-height: 1.45;
	color: #9999a5;
	text-align: center;
	font-style: italic;
}

.vce-video-caption .caption-star {
	color: #d4af37;
	font-style: normal;
	margin-right: 4px;
}

/* ==========================================================================
   2. Star Review Ratings Badge
   ========================================================================== */
.vce-star-rating-box {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding: 12px 20px;
	margin: 24px 0;
	background: rgba(212, 175, 55, 0.08);
	border: 1px solid rgba(212, 175, 55, 0.35);
	border-radius: 8px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.vce-stars-glyphs {
	font-size: 1.35rem;
	color: #d4af37;
	letter-spacing: 3px;
	line-height: 1;
}

.vce-score-numeric {
	font-size: 0.95rem;
	color: #f0f0f5;
	font-weight: 500;
}

.vce-score-numeric strong {
	color: #d4af37;
	font-size: 1.15rem;
	font-weight: 800;
}

.vce-reviewed-item {
	font-size: 0.95rem;
	font-weight: 600;
	color: #ffffff;
	font-style: italic;
}

/* ==========================================================================
   3. Editorial Pullquotes
   ========================================================================== */
.vce-editorial-pullquote {
	position: relative;
	margin: 40px 0;
	padding: 24px 28px 24px 34px;
	border-left: 4px solid #d4af37;
	background: linear-gradient(90deg, rgba(212, 175, 55, 0.08) 0%, rgba(20, 20, 24, 0.4) 100%);
	border-radius: 0 8px 8px 0;
}

.vce-editorial-pullquote .pullquote-star {
	position: absolute;
	top: -14px;
	left: -12px;
	width: 24px;
	height: 24px;
	background: #0d0d12;
	border: 1px solid #d4af37;
	border-radius: 50%;
	color: #d4af37;
	font-size: 13px;
	line-height: 22px;
	text-align: center;
	display: block;
}

.vce-editorial-pullquote .pullquote-body {
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	line-height: 1.6;
	font-style: italic;
	color: #f7f7fa;
}

.vce-editorial-pullquote .pullquote-body p {
	margin: 0 0 10px;
}

.vce-editorial-pullquote .pullquote-body p:last-child {
	margin-bottom: 0;
}

.vce-editorial-pullquote .pullquote-cite {
	display: block;
	margin-top: 14px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 0.82rem;
	font-style: normal;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: #d4af37;
}

.vce-editorial-pullquote .pullquote-cite span {
	color: #9999a5;
	font-weight: 500;
	text-transform: none;
	letter-spacing: normal;
}

/* ==========================================================================
   4. Breaking / Exclusive / Review Callout Boxes
   ========================================================================== */
.vce-callout-box {
	margin: 32px 0;
	padding: 22px 24px;
	border-radius: 8px;
	border-left: 4px solid #d4af37;
	background: rgba(212, 175, 55, 0.06);
	color: #e0e0e8;
}

.vce-callout-box .vce-callout-hdr {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 0.85rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.vce-callout-box .callout-star {
	font-size: 14px;
}

.vce-callout-box .vce-callout-body {
	font-size: 1rem;
	line-height: 1.6;
}

.vce-callout-box .vce-callout-body p {
	margin: 0 0 10px;
}

.vce-callout-box .vce-callout-body p:last-child {
	margin-bottom: 0;
}

/* Callout Variants */
.vce-callout-gold {
	border-left-color: #d4af37;
	background: rgba(212, 175, 55, 0.07);
}
.vce-callout-gold .vce-callout-hdr {
	color: #d4af37;
}

.vce-callout-breaking {
	border-left-color: #e50914;
	background: rgba(229, 9, 20, 0.08);
}
.vce-callout-breaking .vce-callout-hdr {
	color: #ff4757;
}

.vce-callout-exclusive {
	border-left-color: #9b51e0;
	background: rgba(155, 81, 224, 0.08);
}
.vce-callout-exclusive .vce-callout-hdr {
	color: #c084fc;
}

.vce-callout-review {
	border-left-color: #f2c94c;
	background: rgba(242, 201, 76, 0.08);
}
.vce-callout-review .vce-callout-hdr {
	color: #f2c94c;
}

/* Responsive adjustments */
@media (max-width: 600px) {
	.vce-editorial-pullquote {
		padding: 18px 20px 18px 24px;
	}
	.vce-editorial-pullquote .pullquote-body {
		font-size: 1.1rem;
	}
	.vce-star-rating-box {
		padding: 10px 16px;
	}
}

/* ==========================================================================
   5. Featured Video Hero Section (Single Post)
   ========================================================================== */
.vedette-featured-video-hero {
	margin: 28px 0 36px 0;
	position: relative;
}

.vce-featured-video-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #111116;
	color: #D4AF37;
	border: 1px solid #D4AF37;
	border-radius: 4px 4px 0 0;
	padding: 5px 12px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: -1px;
}

.vce-featured-video-badge .fv-star {
	font-size: 11px;
}

