/**
 * Team Spotlight — frontend3.css
 *
 * Editorial layout: Header → Cards → Dots → Footer
 *
 * @package BPCW
 */

/* ─── Container ──────────────────────────────────────────────────────────── */

.bpcw3-container {
	background: var(--bpcw3-bg, transparent);
	border-radius: var(--bpcw3-radius, 10);
	overflow: hidden;
}

/* ─── Header ─────────────────────────────────────────────────────────────── */

.bpcw3-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	background: var(--bpcw3-header-bg, #d4a843);
	gap: 16px;
}

.bpcw3-header-left {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.bpcw3-header-logo {
	flex-shrink: 0;
}

.bpcw3-header-logo img {
	display: block;
	max-width: var(--bpcw3-header-logo-w, 60px);
	height: auto;
	object-fit: contain;
}

.bpcw3-team-name {
	font-family: var(--jl-title-font, 'Work Sans', Verdana, Geneva, sans-serif);
	font-weight: var(--jl-title-font-weight, 700);
	text-transform: var(--jl-title-transform, none);
	letter-spacing: var(--jl-title-space, -0.02em);
	line-height: var(--jl-title-line-height, 1.2);
	font-size: var(--bpcw3-team-font-size, 20px);
	color: var(--bpcw3-team-color, #1a1a1a);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bpcw3-header-right {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.bpcw3-sponsor-label {
	font-family: var(--jl-body-font, Oxygen, Verdana, Geneva, sans-serif);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--bpcw3-team-color, #1a1a1a);
	opacity: 0.7;
}

.bpcw3-header-sponsor {
	flex-shrink: 0;
}

.bpcw3-header-sponsor img {
	display: block;
	max-width: var(--bpcw3-header-sponsor-w, 80px);
	height: auto;
	object-fit: contain;
}

.bpcw3-header-sponsor a {
	display: block;
	text-decoration: none;
}

.bpcw3-header-sponsor.bpcw3-sponsor--bg {
	background: var(--bpcw3-sponsor-bg, transparent);
	border-radius: var(--bpcw3-sponsor-radius, 0);
	padding: var(--bpcw3-sponsor-pad, 0);
	margin: var(--bpcw3-sponsor-margin, 0);
}

/* ─── Content Wrapper ────────────────────────────────────────────────────── */

.bpcw3-content {
	padding: 24px;
}

/* ─── Cards (shared) ─────────────────────────────────────────────────────── */

.bpcw3-card {
	background: var(--bpcw3-card-bg, transparent);
	border-radius: var(--bpcw3-card-radius, 0);
}

.bpcw3-card-image {
	overflow: hidden;
	border-radius: var(--bpcw3-card-radius, 8px);
}

.bpcw3-card-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.bpcw3-card-label {
	font-family: var(--jl-body-font, Oxygen, Verdana, Geneva, sans-serif);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bpcw3-featured-label-color, #cd1316);
}

.bpcw3-card-title {
	font-family: var(--jl-title-font, 'Work Sans', Verdana, Geneva, sans-serif);
	font-weight: var(--jl-title-font-weight, 700);
	text-transform: var(--jl-title-transform, none);
	letter-spacing: var(--jl-title-space, -0.02em);
	line-height: var(--jl-title-line-height, 1.2);
	margin: 0;
}

.bpcw3-card-title a {
	text-decoration: none;
	color: var(--bpcw3-card-title-color, var(--jl-txt-color, #1a1a1a));
	background-image: linear-gradient(var(--jl-main-color, #cd1316), var(--jl-main-color, #cd1316));
	background-size: 0 var(--jl-title-line-h, 1px);
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: color 0.2s, background-size 0.3s;
}

.bpcw3-card-title a:hover {
	color: var(--jl-main-color, #cd1316);
	background-size: 100% var(--jl-title-line-h, 1px);
}

.bpcw3-card-excerpt {
	font-family: var(--jl-body-font, Oxygen, Verdana, Geneva, sans-serif);
	font-size: var(--jl-body-font-size, 15px);
	line-height: var(--jl-body-line-height, 1.6);
	color: var(--bpcw3-card-excerpt-color, var(--jl-except-color, #666));
	margin: 0;
}

.bpcw3-card-meta {
	display: flex;
	gap: 12px;
	font-family: var(--jl-body-font, Oxygen, Verdana, Geneva, sans-serif);
	font-size: var(--jl-meta-font-size, 13px);
	color: var(--bpcw3-card-meta-color, var(--jl-meta-color, #0a0a0a));
}

/* ─── Featured Card (desktop) ────────────────────────────────────────────── */

.bpcw3-card--featured {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
	margin-bottom: 24px;
}

.bpcw3-card--featured .bpcw3-card-image img {
	aspect-ratio: 16/10;
}

.bpcw3-card--featured .bpcw3-card-content {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bpcw3-card--featured .bpcw3-card-title {
	font-size: var(--bpcw3-featured-title-size, 28px);
}

/* ─── Secondary Cards (desktop) ──────────────────────────────────────────── */

.bpcw3-card:not(.bpcw3-card--featured) {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 0;
	border-top: 1px solid var(--bpcw3-card-border, var(--jl-post-line-color, #e9ecef));
}

.bpcw3-card:not(.bpcw3-card--featured):first-of-type {
	border-top: none;
	padding-top: 0;
}

.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-image {
	flex-shrink: 0;
	max-width: var(--bpcw3-secondary-thumb-w, 120px);
}

.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-image img {
	max-height: var(--bpcw3-secondary-thumb-h, 80px);
}

.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-title {
	font-size: var(--bpcw3-secondary-title-size, 16px);
}

.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-excerpt {
	font-size: var(--jl-body-font-size, 14px);
}

.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-meta {
	font-size: var(--jl-meta-font-size, 12px);
}

/* ─── Dots ───────────────────────────────────────────────────────────────── */

.bpcw3-dots {
	display: none;
}

/* ─── Footer ─────────────────────────────────────────────────────────────── */

.bpcw3-footer {
	background: var(--bpcw3-footer-bg, #f5f1ea);
}

.bpcw3-footer a {
	font-family: var(--jl-title-font, 'Work Sans', Verdana, Geneva, sans-serif);
	font-weight: 600;
	font-size: 15px;
	color: var(--bpcw3-footer-link-color, var(--jl-txt-color, #1a1a1a));
	text-decoration: none;
	transition: color 0.2s;
}

.bpcw3-footer a:hover {
	color: var(--jl-main-color, #cd1316);
}

/* ─── Mobile (≤767px) — Carousel ─────────────────────────────────────────── */

@media only screen and (max-width: 767px) {
	.bpcw3-header {
		flex-wrap: wrap;
		justify-content: center;
		gap: 12px;
		padding: 14px 16px;
	}

	.bpcw3-header-left {
		width: 100%;
		justify-content: center;
	}

	.bpcw3-header-right {
		width: 100%;
		justify-content: center;
	}

	.bpcw3-team-name {
		font-size: 16px;
	}

	.bpcw3-content {
		padding: 16px 0 0;
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 16px;
		border-radius: var(--bpcw3-radius, 10px);
	}

	/* Hide scrollbar */
	.bpcw3-content::-webkit-scrollbar {
		display: none;
	}
	.bpcw3-content {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	/* All cards in carousel */
	.bpcw3-card,
	.bpcw3-card.bpcw3-card--featured {
		flex: 0 0 100%;
		min-width: 100%;
		scroll-snap-align: start;
		padding: 0 16px;
		box-sizing: border-box;
		display: flex !important;
		flex-direction: column !important;
		gap: 12px;
		margin-bottom: 0;
	}

	/* Uniform image */
	.bpcw3-card .bpcw3-card-image,
	.bpcw3-card.bpcw3-card--featured .bpcw3-card-image {
		width: 100%;
		overflow: hidden;
		border-radius: var(--bpcw3-card-radius, 8px);
	}

	.bpcw3-card .bpcw3-card-image img,
	.bpcw3-card.bpcw3-card--featured .bpcw3-card-image img {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}

	/* Uniform content */
	.bpcw3-card .bpcw3-card-content,
	.bpcw3-card.bpcw3-card--featured .bpcw3-card-content {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.bpcw3-card .bpcw3-card-label,
	.bpcw3-card.bpcw3-card--featured .bpcw3-card-label {
		font-family: var(--jl-body-font, Oxygen, Verdana, Geneva, sans-serif);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--bpcw3-featured-label-color, #cd1316);
	}

	.bpcw3-card .bpcw3-card-title,
	.bpcw3-card.bpcw3-card--featured .bpcw3-card-title {
		font-size: 18px;
		line-height: 1.3;
		margin: 0;
	}

	.bpcw3-card .bpcw3-card-excerpt,
	.bpcw3-card.bpcw3-card--featured .bpcw3-card-excerpt {
		font-size: 14px;
		line-height: 1.5;
		color: var(--bpcw3-card-excerpt-color, var(--jl-except-color, #666));
		margin: 0;
	}

	.bpcw3-card .bpcw3-card-meta,
	.bpcw3-card.bpcw3-card--featured .bpcw3-card-meta {
		font-size: 12px;
		color: var(--bpcw3-card-meta-color, var(--jl-meta-color, #0a0a0a));
	}

	/* Reset stili desktop che filtrano nel mobile */
	.bpcw3-card:not(.bpcw3-card--featured) {
		border-top: none;
		padding: 0 16px;
	}

	.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-image {
		max-width: 100%;
	}

	.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-image img {
		max-height: none;
	}

	.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-title {
		font-size: 18px;
	}

	.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-excerpt {
		font-size: 14px;
	}

	.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-meta {
		font-size: 12px;
	}

	.bpcw3-card:not(.bpcw3-card--featured) .bpcw3-card-content {
		gap: 8px;
	}

	/* Hide thumbnails when disabled */
	.bpcw3--no-thumbs-mobile .bpcw3-card-image {
		display: none;
	}

	/* Dots visible on mobile — match featured slider dots */
	.bpcw3-dots {
		display: flex;
		justify-content: center;
		gap: 7px;
		padding: 16px 0;
	}

	.bpcw3-dot {
		width: 8px;
		height: 8px;
		background: transparent;
		border: none;
		border-radius: 0;
		margin: 0;
		padding: 0;
		position: relative;
		pointer-events: visible;
		cursor: pointer;
	}

	.bpcw3-dot::after {
		content: '';
		display: inline-block;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		height: 8px;
		border-radius: 50%;
		opacity: .3;
		background-color: var(--jlpagi-color, var(--bpcw3-dot-color, #fff)) !important;
		transition: .2s ease-out, background-color .2s ease-out;
	}

	.bpcw3-dot.is-active::after {
		background-color: var(--jlpagi-color, var(--bpcw3-dot-color, #fff)) !important;
		transform: scale(1.4);
		opacity: 1;
	}
}

/* ─── Dark Mode ──────────────────────────────────────────────────────────── */

.options_dark_skin .bpcw3-header {
	background: var(--bpcw3-header-bg-dark, #2a2a2a);
}

.options_dark_skin .bpcw3-team-name {
	color: var(--bpcw3-team-color-dark, #f0f0f0);
}

.options_dark_skin .bpcw3-sponsor-label {
	color: var(--bpcw3-team-color-dark, #f0f0f0);
}

.options_dark_skin .bpcw3-card-title a {
	color: var(--bpcw3-card-title-color-dark, #f0f0f0);
}

.options_dark_skin .bpcw3-card:not(.bpcw3-card--featured) {
	border-color: rgba(255, 255, 255, 0.1);
}

.options_dark_skin .bpcw3-footer {
	background: var(--bpcw3-footer-bg-dark, #1a1a1a);
}

.options_dark_skin .bpcw3-footer a {
	color: var(--bpcw3-footer-link-color-dark, #f0f0f0);
}

.options_dark_skin .bpcw3-card {
	background: var(--bpcw3-card-bg-dark, transparent);
}
