/* ============================================================
   Hoje na TV GNI — Frontend Widget Styles
   Versão: 1.1.0
   Uso de !important seletivo para garantir que o tema
   WordPress não sobrescreva cores e tamanhos críticos.
   ============================================================ */

/* ── Reset interno — isola o card do tema ──────────────────── */
.gni-card,
.gni-card *,
.gni-card *::before,
.gni-card *::after {
	box-sizing: border-box !important;
}

/* ── Container ─────────────────────────────────────────────── */
.gni-card {
	width: 100% !important;
	max-width: 520px !important;
	min-width: 300px !important;
	background: #1c1c1c !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow:
		0 0 0 1px #2e2e2e,
		0 20px 60px rgba(0,0,0,0.6),
		0 0 0 3px rgba(215,43,43,0.08) !important;
	display: flex !important;
	flex-direction: column !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease !important;
	font-family: 'Barlow', 'Segoe UI', Tahoma, sans-serif !important;
	margin: 0 auto !important;
}

.gni-card:hover {
	transform: translateY(-4px) !important;
	box-shadow:
		0 0 0 1px #D72B2B,
		0 28px 70px rgba(0,0,0,0.7),
		0 0 40px rgba(215,43,43,0.1) !important;
}

/* ── Barra superior ────────────────────────────────────────── */
.gni-card .gni-topbar {
	background: #D72B2B !important;
	padding: 9px 18px !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
}

.gni-card .gni-topbar .live-dot {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	animation: gni-blink 1.4s ease-in-out infinite !important;
	flex-shrink: 0 !important;
	display: inline-block !important;
}

@keyframes gni-blink {
	0%,  100% { opacity: 1; }
	50%        { opacity: 0.25; }
}

.gni-card .gni-topbar .label {
	font-family: 'Barlow', 'Segoe UI', sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	line-height: 1 !important;
}

.gni-card .gni-topbar .brand {
	margin-left: auto !important;
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #F4C842 !important;
	letter-spacing: 0.05em !important;
	line-height: 1 !important;
}

/* ── Thumbnail ─────────────────────────────────────────────── */
.gni-card .gni-thumb {
	width: 100% !important;
	height: 270px !important;
	overflow: hidden !important;
	position: relative !important;
	background: #181818 !important;
	display: block !important;
}

.gni-card .gni-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.6s ease !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.gni-card:hover .gni-thumb img {
	transform: scale(1.04) !important;
}

.gni-card .gni-thumb .overlay {
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.82) 100%) !important;
	pointer-events: none !important;
}

.gni-card .gni-thumb .time-badge {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	background: rgba(0,0,0,0.72) !important;
	border: 1px solid rgba(255,255,255,0.18) !important;
	color: #F4C842 !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	padding: 4px 11px !important;
	border-radius: 4px !important;
	backdrop-filter: blur(6px) !important;
	line-height: 1.4 !important;
}

/* ── Informações ───────────────────────────────────────────── */
.gni-card .gni-info {
	padding: 16px 20px 12px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	background: #1c1c1c !important;
}

.gni-card .gni-category {
	font-size: 0.66rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: #D72B2B !important;
	line-height: 1 !important;
}

.gni-card .gni-title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 1.4rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #f0f0f0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gni-card .gni-desc {
	font-size: 0.8rem !important;
	color: #888888 !important;
	line-height: 1.55 !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
}

/* ── Botão CTA — blindado contra qualquer tema ─────────────── */
.gni-card a.gni-btn,
.gni-card .gni-btn {
	display: block !important;
	margin: 12px 20px 18px !important;
	background: #D72B2B !important;
	background-color: #D72B2B !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-align: center !important;
	text-decoration: none !important;
	font-family: 'Barlow', 'Segoe UI', sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.88rem !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 15px 0 !important;
	border-radius: 8px !important;
	border: none !important;
	outline: none !important;
	box-shadow: 0 4px 18px rgba(215,43,43,0.4) !important;
	position: relative !important;
	overflow: hidden !important;
	cursor: pointer !important;
	line-height: 1.4 !important;
	transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.gni-card a.gni-btn::before,
.gni-card .gni-btn::before {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(135deg, rgba(255,255,255,0.13) 0%, transparent 60%) !important;
	pointer-events: none !important;
}

.gni-card a.gni-btn:hover,
.gni-card .gni-btn:hover {
	background: #b01e1e !important;
	background-color: #b01e1e !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 24px rgba(215,43,43,0.55) !important;
	text-decoration: none !important;
}

.gni-card a.gni-btn:focus,
.gni-card .gni-btn:focus {
	outline: 3px solid #F4C842 !important;
	outline-offset: 2px !important;
}

.gni-card a.gni-btn:active,
.gni-card .gni-btn:active {
	transform: translateY(1px) !important;
	box-shadow: 0 2px 10px rgba(215,43,43,0.3) !important;
}

/* ── Responsivo ────────────────────────────────────────────── */
@media (max-width: 560px) {
	.gni-card {
		border-radius: 10px !important;
		min-width: 0 !important;
	}
	.gni-card .gni-thumb {
		height: 195px !important;
	}
	.gni-card .gni-title {
		font-size: 1.15rem !important;
	}
}

/* ── Centralização ─────────────────────────────────────────── */
.widget .gni-card,
.wp-block-shortcode .gni-card,
.entry-content .gni-card,
.textwidget .gni-card {
	margin-left: auto !important;
	margin-right: auto !important;
}
