/**
 * PennionLiveBlogging Live — Frontend Styles
 *
 * Styles for the timeline, update cards, all update types,
 * badges, polling indicator, and themes.
 */

/* ─── Custom Properties ─────────────────────────────────────────────────── */

.pennion-live-blogging-timeline,
.pennion-live-blogging-timeline * {
	box-sizing: border-box;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

.pennion-live-blogging-timeline {
	--bbw-primary:       #e63946;
	--bbw-primary-light: #fff1f2;
	--bbw-live:          #e63946;
	--bbw-success:       #2a9d8f;
	--bbw-warning:       #e76f51;
	--bbw-bg:            #ffffff;
	--bbw-card:          #ffffff;
	--bbw-border:        #e2e8f0;
	--bbw-text:          #0f172a;
	--bbw-text-muted:    #64748b;
	--bbw-text-light:    #94a3b8;
	--bbw-radius:        12px;
	--bbw-shadow:        0 1px 3px rgba(0,0,0,0.05);
	--bbw-shadow-md:     0 4px 12px rgba(0,0,0,0.08);
	--bbw-font:          'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--bbw-transition:    all 0.2s ease-in-out;
	font-family:         var(--bbw-font);
	color:               var(--bbw-text);
	max-width:           860px;
	margin:              0 auto;
}

/* ─── Dark Theme ─────────────────────────────────────────────────────────── */

.pennion-live-blogging-theme-dark {
	--bbw-bg:            transparent;
	--bbw-card:          #1e293b;
	--bbw-border:        #334155;
	--bbw-text:          #f8fafc;
	--bbw-text-muted:    #94a3b8;
	--bbw-text-light:    #cbd5e1;
	--bbw-primary-light: #451a1e;
	color: #f8fafc;
}

/* Direct overrides — beats WordPress theme global backgrounds */
.pennion-live-blogging-theme-dark .pennion-live-blogging-event-header,
.pennion-live-blogging-theme-dark .pennion-live-blogging-update,
.pennion-live-blogging-theme-dark .pennion-live-blogging-load-more,
.pennion-live-blogging-theme-dark .pennion-live-blogging-poll {
	background: #1e293b !important;
	color:       #f8fafc !important;
	border-color: #334155 !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body,
.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body p,
.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body li,
.pennion-live-blogging-theme-dark .pennion-live-blogging-event-description,
.pennion-live-blogging-theme-dark .pennion-live-blogging-event-description p {
	color: #f8fafc !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-author-name,
.pennion-live-blogging-theme-dark .pennion-live-blogging-event-info,
.pennion-live-blogging-theme-dark .pennion-live-blogging-update-timestamp,
.pennion-live-blogging-theme-dark .pennion-live-blogging-started-at,
.pennion-live-blogging-theme-dark .pennion-live-blogging-reader-counter {
	color: #94a3b8 !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-event-title {
	color: #f8fafc !important;
}

.pennion-live-blogging-theme-dark .lb24-article,
.pennion-live-blogging-theme-dark .pennion-live-blogging-article-card {
	background:   #1e293b !important;
	border-color: #334155 !important;
}

.pennion-live-blogging-theme-dark .lb24-article-title {
	color: #f8fafc !important;
}

.pennion-live-blogging-theme-dark .lb24-article-desc,
.pennion-live-blogging-theme-dark .lb24-article-url {
	color: #94a3b8 !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-admin-btn {
	background:   #0f172a !important;
	border-color: #334155 !important;
	color:        #94a3b8 !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-copy-link-btn {
	border-color: #334155 !important;
	color:        #94a3b8 !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-update-footer-bar {
	border-top-color: #334155 !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body blockquote,
.pennion-live-blogging-theme-dark .pennion-live-blogging-quote {
	background:   #0f172a !important;
	border-color: var(--bbw-primary) !important;
	color:        #f8fafc !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-quote cite {
	color: #94a3b8 !important;
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-advertisement,
.pennion-live-blogging-theme-dark .pennion-live-blogging-poll {
	background:   #0f172a !important;
	border-color: #334155 !important;
}

/* ─── Base Timeline ──────────────────────────────────────────────────────── */

.pennion-live-blogging-timeline {
	font-family:   var(--bbw-font);
	background:    var(--bbw-bg);
	padding:       0;
	max-width:     760px;
	margin:        0 auto;
	color:         var(--bbw-text);
}

.pennion-live-blogging-timeline *,
.pennion-live-blogging-timeline *::before,
.pennion-live-blogging-timeline *::after {
	box-sizing: border-box;
}

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

.pennion-live-blogging-event-header {
	margin-bottom:  24px;
	border-radius:  var(--bbw-radius);
	overflow:       hidden;
	background:     var(--bbw-card);
	border:         1px solid var(--bbw-border);
}

.pennion-live-blogging-cover-image img {
	width:         100%;
	max-height:    340px;
	object-fit:    cover;
	display:       block;
}

.pennion-live-blogging-event-meta {
	padding: 20px 24px;
}

.pennion-live-blogging-event-title {
	font-size:   24px;
	font-weight: 800;
	margin:      0 0 10px;
	line-height: 1.3;
	display:     flex;
	align-items: center;
	gap:         10px;
}

/* Live Pulse Dot */
.pennion-live-blogging-live-dot {
	display:       inline-block;
	width:         12px;
	height:        12px;
	border-radius: 50%;
	background:    var(--bbw-live);
	flex-shrink:   0;
	animation:     pennion-live-blogging-pulse 1.5s infinite;
}

@keyframes pennion-live-blogging-pulse {
	0%, 100% {
		box-shadow: 0 0 0 0 var(--bbw-live-glow);
		opacity:    1;
	}
	50% {
		box-shadow: 0 0 0 8px transparent;
		opacity:    0.8;
	}
}

.pennion-live-blogging-event-info {
	display:     flex;
	align-items: center;
	gap:         12px;
	flex-wrap:   wrap;
	margin-bottom: 12px;
	font-size:   13px;
	color:       var(--bbw-text-muted);
}

.pennion-live-blogging-status-pill {
	display:       inline-flex;
	align-items:   center;
	padding:       3px 10px;
	border-radius: 100px;
	font-size:     11px;
	font-weight:   700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.pennion-live-blogging-status-draft    { background: #f1f5f9; color: #64748b; }
.pennion-live-blogging-status-live     { background: #fee2e2; color: #dc2626; }
.pennion-live-blogging-status-paused   { background: #fef3c7; color: #92400e; }
.pennion-live-blogging-status-ended    { background: #f1f5f9; color: #475569; }
.pennion-live-blogging-status-archived { background: #ede9fe; color: #7c3aed; }

.pennion-live-blogging-theme-dark .pennion-live-blogging-status-draft    { background: #1e293b; color: #94a3b8; }
.pennion-live-blogging-theme-dark .pennion-live-blogging-status-live     { background: #450a0a; color: #fca5a5; }
.pennion-live-blogging-theme-dark .pennion-live-blogging-status-paused   { background: #431407; color: #fde68a; }
.pennion-live-blogging-theme-dark .pennion-live-blogging-status-ended    { background: #1e293b; color: #94a3b8; }
.pennion-live-blogging-theme-dark .pennion-live-blogging-status-archived { background: #2e1065; color: #c4b5fd; }

@media (prefers-color-scheme: dark) {
	.pennion-live-blogging-timeline:not(.pennion-live-blogging-theme-light) .pennion-live-blogging-status-draft    { background: #1e293b; color: #94a3b8; }
	.pennion-live-blogging-timeline:not(.pennion-live-blogging-theme-light) .pennion-live-blogging-status-live     { background: #450a0a; color: #fca5a5; }
	.pennion-live-blogging-timeline:not(.pennion-live-blogging-theme-light) .pennion-live-blogging-status-paused   { background: #431407; color: #fde68a; }
	.pennion-live-blogging-timeline:not(.pennion-live-blogging-theme-light) .pennion-live-blogging-status-ended    { background: #1e293b; color: #94a3b8; }
	.pennion-live-blogging-timeline:not(.pennion-live-blogging-theme-light) .pennion-live-blogging-status-archived { background: #2e1065; color: #c4b5fd; }
}

.pennion-live-blogging-started-at {
	color: var(--bbw-text-muted);
}

.pennion-live-blogging-reader-counter {
	display:     flex;
	align-items: center;
	gap:         4px;
	color:       var(--bbw-text-muted);
}

.pennion-live-blogging-event-description {
	font-size:   14px;
	line-height: 1.6;
	color:       var(--bbw-text-muted);
	margin-top:  8px;
}

/* ─── New Updates Banner ─────────────────────────────────────────────────── */

.pennion-live-blogging-new-updates-banner {
	position:      sticky;
	top:           0;
	z-index:       50;
	text-align:    center;
	padding:       8px;
	margin-bottom: 12px;
}

.pennion-live-blogging-load-new-btn {
	background:    var(--bbw-live);
	color:         #fff;
	border:        none;
	border-radius: 100px;
	padding:       8px 20px;
	font-size:     13px;
	font-weight:   700;
	cursor:        pointer;
	box-shadow:    var(--bbw-shadow-md);
	transition:    var(--bbw-transition);
	animation:     pennion-live-blogging-slide-down 0.3s ease;
}

.pennion-live-blogging-load-new-btn:hover {
	background: var(--bbw-primary);
	transform:  scale(1.02);
}

@keyframes pennion-live-blogging-slide-down {
	from { opacity: 0; transform: translateY(-12px); }
	to   { opacity: 1; transform: none; }
}

/* ─── Updates Feed ───────────────────────────────────────────────────────── */

.pennion-live-blogging-updates-feed {
	position: relative;
}

.pennion-live-blogging-updates-feed::before {
	content:       '';
	position:      absolute;
	left:          19px;
	top:           0;
	bottom:        0;
	width:         2px;
	background:    linear-gradient(to bottom, var(--bbw-primary), transparent);
	pointer-events: none;
}

/* ─── Update Card ────────────────────────────────────────────────────────── */

.pennion-live-blogging-update {
	background:    var(--bbw-card);
	border:        1px solid var(--bbw-border);
	border-radius: var(--bbw-radius);
	padding:       16px 20px;
	margin-bottom: 12px;
	position:      relative;
	margin-left:   40px;
	box-shadow:    var(--bbw-shadow);
	transition:    var(--bbw-transition);
	animation:     pennion-live-blogging-fade-in 0.35s ease;
}

@keyframes pennion-live-blogging-fade-in {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: none; }
}

/* 24liveblog Rich Article Embed Styling (Image 2 Target Match) */
.lb24-article,
.pennion-live-blogging-update-body .lb24-article {
	display:       flex !important;
	flex-direction: row !important;
	background:    var(--bbw-card) !important;
	border:        1px solid var(--bbw-border) !important;
	border-radius: 12px !important;
	overflow:      hidden !important;
	margin:        14px 0 !important;
	padding:       12px !important;
	gap:           16px !important;
	box-shadow:    0 2px 8px rgba(0,0,0,0.04) !important;
	transition:    all 0.2s ease !important;
	text-decoration: none !important;
	align-items:   center !important;
	position:      static !important;
	width:         100% !important;
	max-width:     100% !important;
	box-sizing:    border-box !important;
}

.lb24-article:hover {
	border-color: #cbd5e1 !important;
	box-shadow:   0 8px 20px rgba(0,0,0,0.08) !important;
	transform:    translateY(-1px) !important;
}

.lb24-article-image,
.pennion-live-blogging-update-body .lb24-article-image {
	width:              140px !important;
	min-width:          140px !important;
	height:             140px !important;
	border-radius:      8px !important;
	background-size:    cover !important;
	background-position: center !important;
	background-repeat:  no-repeat !important;
	background-color:   #f1f5f9 !important;
	float:              none !important;
	margin:             0 !important;
}

.lb24-article-text,
.pennion-live-blogging-update-body .lb24-article-text {
	flex:           1 !important;
	margin-left:    0 !important;
	padding:        0 !important;
	display:        flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

.lb24-article-title,
.pennion-live-blogging-update-body .lb24-article-title,
.lb24-article .lb24-article-title {
	font-size:   16px !important;
	font-weight: 700 !important;
	color:       var(--bbw-text) !important;
	margin:      0 0 4px 0 !important;
	line-height: 1.4 !important;
	display:     -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow:    hidden !important;
	text-overflow: ellipsis !important;
}

.lb24-article .lb24-article-desc {
	font-size:   13px !important;
	color:       var(--bbw-text-muted) !important;
	margin:      0 0 6px 0 !important;
	line-height: 1.5 !important;
	display:     -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow:    hidden !important;
	text-overflow: ellipsis !important;
}

.lb24-article .lb24-article-url {
	font-size:   11px !important;
	color:       var(--bbw-text-light) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
}

@media (max-width: 600px) {
	.lb24-article,
	.pennion-live-blogging-update-body .lb24-article {
		flex-direction: column !important;
	}
	.lb24-article-image {
		width: 100% !important;
		height: 160px !important;
	}
}

/* Timeline dot */
.pennion-live-blogging-update::before {
	content:       '';
	position:      absolute;
	left:          -30px;
	top:           20px;
	width:         10px;
	height:        10px;
	border-radius: 50%;
	background:    var(--bbw-border);
	border:        2px solid var(--bbw-card);
	box-shadow:    0 0 0 2px var(--bbw-border);
}

.pennion-live-blogging-update:hover {
	box-shadow: var(--bbw-shadow-md);
	transform:  translateY(-1px);
}

.pennion-live-blogging-update.is-pinned {
	border-left:    3px solid var(--bbw-warning);
	background:     var(--bbw-pinned-bg, #fffbeb);
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-update.is-pinned {
	--bbw-pinned-bg: #2a2310;
}

.pennion-live-blogging-update.is-highlighted {
	border-left:    3px solid var(--bbw-primary);
	background:     var(--bbw-primary-light);
	box-shadow:     0 0 0 1px rgba(230,57,70,.15), var(--bbw-shadow);
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-update.is-highlighted {
	--bbw-primary-light: #3a1015;
}

.pennion-live-blogging-update.is-pinned::before,
.pennion-live-blogging-update.is-breaking::before {
	background:  var(--bbw-live);
	box-shadow:  0 0 0 2px var(--bbw-live-glow);
}

.pennion-live-blogging-update.is-highlighted::before {
	background: var(--bbw-primary);
}

/* ─── Update Badges ──────────────────────────────────────────────────────── */

.pennion-live-blogging-update-badges {
	display:       flex;
	gap:           6px;
	flex-wrap:     wrap;
	margin-bottom: 10px;
}

.pennion-live-blogging-badge {
	display:       inline-flex;
	align-items:   center;
	gap:           4px;
	padding:       2px 10px;
	border-radius: 100px;
	font-size:     10px;
	font-weight:   800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.pennion-live-blogging-badge-pinned    { background: var(--bbw-pinned-badge-bg, #fef3c7); color: var(--bbw-pinned-badge-color, #92400e); }
.pennion-live-blogging-badge-breaking  { background: var(--bbw-live); color: #fff; }
.pennion-live-blogging-badge-highlight { background: var(--bbw-primary-light); color: var(--bbw-primary); }

.pennion-live-blogging-theme-dark .pennion-live-blogging-badge-pinned {
	--bbw-pinned-badge-bg:    #3a2e0a;
	--bbw-pinned-badge-color: #fcd34d;
}

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

.pennion-live-blogging-update-header {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	margin-bottom:   10px;
	gap:             10px;
}

.pennion-live-blogging-update-author-info {
	display:     flex;
	align-items: center;
	gap:         8px;
}

.pennion-live-blogging-avatar {
	width:         28px !important;
	height:        28px !important;
	border-radius: 50% !important;
	object-fit:    cover;
}

.pennion-live-blogging-author-name {
	font-weight: 600;
	font-size:   13px;
	color:       var(--bbw-text);
}

.pennion-live-blogging-update-timestamp {
	font-size:  12px;
	color:      var(--bbw-text-muted);
	white-space: nowrap;
	cursor:      default;
}

/* ─── Update Body ────────────────────────────────────────────────────────── */

.pennion-live-blogging-update-body {
	font-size:   15px;
	line-height: 1.65;
	color:       var(--bbw-text);
}

.pennion-live-blogging-update-body p { margin: 0 0 12px; }
.pennion-live-blogging-update-body p:last-child { margin-bottom: 0; }

.pennion-live-blogging-update-body ul,
.pennion-live-blogging-update-body ol {
	margin: 0 0 16px 24px;
	padding: 0;
}

.pennion-live-blogging-update-body li {
	margin-bottom: 8px;
}
.pennion-live-blogging-update-body li:last-child {
	margin-bottom: 0;
}

/* Image */
.pennion-live-blogging-update-image {
	margin:        0;
	border-radius: var(--bbw-radius-sm);
	overflow:      hidden;
}

.pennion-live-blogging-update-image img {
	width:      100%;
	display:    block;
	max-height: 480px;
	object-fit: cover;
	border-radius: var(--bbw-radius-sm);
}

.pennion-live-blogging-update-image figcaption {
	font-size:   13px;
	color:       var(--bbw-text-muted);
	padding:     8px 0 0;
	font-style:  italic;
}

/* Gallery */
.pennion-live-blogging-update-gallery {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap:                   6px;
	margin-bottom:         8px;
}

.pennion-live-blogging-update-gallery img {
	width:         100%;
	aspect-ratio:  1;
	object-fit:    cover;
	border-radius: 4px;
}

/* Video */
.pennion-live-blogging-update-video {
	position:       relative;
	width:          100%;
	aspect-ratio:   16/9;
	overflow:       hidden;
	border-radius:  var(--bbw-radius-sm);
	background:     #000;
	margin-bottom:  8px;
}

.pennion-live-blogging-update-video iframe,
.pennion-live-blogging-update-video video {
	width:    100%;
	height:   100%;
	border:   none;
}

/* Quote */
.pennion-live-blogging-quote {
	border-left: 3px solid var(--bbw-primary);
	margin:      0;
	padding:     10px 16px;
	background:  var(--bbw-primary-light);
	border-radius: 0 var(--bbw-radius-sm) var(--bbw-radius-sm) 0;
	font-size:   16px;
	font-style:  italic;
	line-height: 1.6;
}

.pennion-live-blogging-quote cite {
	display:    block;
	margin-top: 6px;
	font-size:  13px;
	font-style: normal;
	color:      var(--bbw-text-muted);
	font-weight: 600;
}

/* Poll */
.pennion-live-blogging-poll {
	background:    var(--bbw-poll-bg, #f8fafc);
	border-radius: var(--bbw-radius-sm);
	padding:       14px;
	border:        1px solid var(--bbw-border);
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-poll {
	--bbw-poll-bg: #0f172a;
}

.pennion-live-blogging-poll-question {
	font-weight:   700;
	margin-bottom: 12px;
	font-size:     15px;
}

.pennion-live-blogging-poll-option {
	display:       flex;
	align-items:   center;
	gap:           10px;
	margin-bottom: 8px;
	font-size:     14px;
}

.pennion-live-blogging-poll-label {
	min-width: 100px;
	flex-shrink: 0;
}

.pennion-live-blogging-poll-bar-wrap {
	flex:          1;
	background:    var(--bbw-border);
	border-radius: 100px;
	height:        8px;
	overflow:      hidden;
}

.pennion-live-blogging-poll-bar {
	height:        100%;
	background:    var(--bbw-primary);
	border-radius: 100px;
	transition:    width 0.5s ease;
}

.pennion-live-blogging-poll-percent {
	font-size:   12px;
	font-weight: 600;
	color:       var(--bbw-text-muted);
	min-width:   36px;
	text-align:  right;
}

.pennion-live-blogging-poll-total {
	font-size:  12px;
	color:      var(--bbw-text-muted);
	margin:     8px 0 0;
}

/* Timeline Marker */
.pennion-live-blogging-timeline-marker {
	display:       flex;
	align-items:   center;
	gap:           10px;
	font-weight:   700;
	font-size:     14px;
	color:         var(--bbw-text-muted);
	padding:       10px 0;
	border-top:    1px dashed var(--bbw-border);
	border-bottom: 1px dashed var(--bbw-border);
}

.pennion-live-blogging-marker-icon {
	font-size: 18px;
}

/* Advertisement */
.pennion-live-blogging-advertisement {
	border:        1px dashed var(--bbw-border);
	border-radius: var(--bbw-radius-sm);
	padding:       12px;
	background:    var(--bbw-ad-bg, #f8fafc);
	font-size:     12px;
	color:         var(--bbw-text-muted);
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-advertisement {
	--bbw-ad-bg: #0f172a;
}

.pennion-live-blogging-advertisement::before {
	content:     'Sponsored';
	display:     block;
	font-size:   10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 6px;
	color:       var(--bbw-text-light);
}

/* Tweet / Instagram Embeds */
.pennion-live-blogging-update-embed {
	border-radius: var(--bbw-radius-sm);
	overflow:      hidden;
}

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

.pennion-live-blogging-update-footer {
	margin-top:  10px;
	text-align:  right;
}

.pennion-live-blogging-update-footer-bar {
	margin-top:      14px;
	padding-top:     10px;
	border-top:      1px solid var(--bbw-border);
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	font-size:       12px;
	flex-wrap:       wrap;
	gap:             10px;
	text-align:      left;
}

/* Admin action buttons */
.pennion-live-blogging-admin-actions {
	display: flex;
	gap:     8px;
}

.pennion-live-blogging-admin-btn {
	background:    var(--bbw-card);
	border:        1px solid var(--bbw-border);
	border-radius: 4px;
	padding:       4px 8px;
	cursor:        pointer;
	color:         var(--bbw-text-muted);
	font-size:     14px;
	transition:    var(--bbw-transition);
	line-height:   1;
}

.pennion-live-blogging-admin-btn:hover {
	border-color: var(--bbw-primary);
}

.pennion-live-blogging-pin-btn.is-active       { color: var(--bbw-primary); }
.pennion-live-blogging-star-btn.is-active-star { color: #eab308; }
.pennion-live-blogging-delete-btn              { color: #dc2626; }

/* Share buttons */
.pennion-live-blogging-share-buttons {
	display:     flex;
	gap:         10px;
	align-items: center;
	margin-left: auto;
}

.pennion-live-blogging-copy-link-btn {
	background:    transparent;
	border:        1px solid var(--bbw-border);
	border-radius: 4px;
	padding:       3px 8px;
	font-size:     12px;
	cursor:        pointer;
	color:         var(--bbw-text-muted);
	font-family:   var(--bbw-font);
	transition:    var(--bbw-transition);
}

.pennion-live-blogging-copy-link-btn:hover {
	border-color: var(--bbw-primary);
	color:        var(--bbw-primary);
}

.pennion-live-blogging-share-wa  { color: #25D366; text-decoration: none; font-weight: 600; }
.pennion-live-blogging-share-x   { color: var(--bbw-share-x, #000000); text-decoration: none; font-weight: 600; }
.pennion-live-blogging-share-fb  { color: #1877F2; text-decoration: none; font-weight: 600; }

.pennion-live-blogging-theme-dark .pennion-live-blogging-share-x { --bbw-share-x: #e2e8f0; }

@media (prefers-color-scheme: dark) {
	.pennion-live-blogging-timeline:not(.pennion-live-blogging-theme-light) .pennion-live-blogging-share-x {
		--bbw-share-x: #e2e8f0;
	}
}

.pennion-live-blogging-update-permalink {
	font-size:   11px;
	color:       var(--bbw-text-light);
	text-decoration: none;
	padding:     2px 6px;
	border-radius: 3px;
	transition:  var(--bbw-transition);
}

.pennion-live-blogging-update-permalink:hover {
	background: var(--bbw-border);
	color:      var(--bbw-text);
}

/* ─── Load More ──────────────────────────────────────────────────────────── */

.pennion-live-blogging-load-more-wrap {
	text-align:    center;
	padding:       20px 0;
	margin-left:   40px;
}

.pennion-live-blogging-load-more {
	background:    var(--bbw-card);
	border:        1px solid var(--bbw-border);
	border-radius: 100px;
	padding:       10px 28px;
	font-size:     13px;
	font-weight:   600;
	color:         var(--bbw-text-muted);
	cursor:        pointer;
	transition:    var(--bbw-transition);
	font-family:   var(--bbw-font);
}

.pennion-live-blogging-load-more:hover {
	background:   var(--bbw-bg);
	border-color: var(--bbw-primary);
	color:        var(--bbw-primary);
}

.pennion-live-blogging-load-more:disabled {
	opacity: 0.5;
	cursor:  not-allowed;
}

/* ─── No Updates ─────────────────────────────────────────────────────────── */

.pennion-live-blogging-no-updates {
	text-align:  center;
	padding:     40px;
	color:       var(--bbw-text-muted);
	font-size:   15px;
}

/* ─── Themes ─────────────────────────────────────────────────────────────── */

/* News Theme */
.pennion-live-blogging-theme-news .pennion-live-blogging-update.is-breaking {
	border:     2px solid var(--bbw-live);
	background: var(--bbw-breaking-bg, #fff5f5);
}

.pennion-live-blogging-theme-dark .pennion-live-blogging-update.is-breaking {
	--bbw-breaking-bg: #2a0a0a;
}

.pennion-live-blogging-theme-news .pennion-live-blogging-event-title {
	font-size: 22px;
}

/* Sports Theme */
.pennion-live-blogging-theme-sports {
	--bbw-primary:       #16a34a;
	--bbw-primary-light: #f0fdf4;
}

.pennion-live-blogging-theme-dark.pennion-live-blogging-theme-sports,
.pennion-live-blogging-theme-sports.pennion-live-blogging-theme-dark {
	--bbw-primary-light: #052e16;
}

/* Minimal Theme */
.pennion-live-blogging-theme-minimal .pennion-live-blogging-updates-feed::before,
.pennion-live-blogging-theme-minimal .pennion-live-blogging-update::before {
	display: none;
}

.pennion-live-blogging-theme-minimal .pennion-live-blogging-update {
	margin-left: 0;
	border-left: none;
	border-top:  1px solid var(--bbw-border);
	border-radius: 0;
	box-shadow: none;
	padding: 16px 0;
}

.pennion-live-blogging-theme-minimal .pennion-live-blogging-event-header {
	border-radius: 0;
}

/* ─── Accessibility ──────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	.pennion-live-blogging-live-dot,
	.pennion-live-blogging-status-live,
	.pennion-live-blogging-update,
	.pennion-live-blogging-load-new-btn {
		animation: none;
	}

	.pennion-live-blogging-update:hover {
		transform: none;
	}
}

/* Focus Styles */
.pennion-live-blogging-update:focus-within,
.pennion-live-blogging-load-more:focus,
.pennion-live-blogging-load-new-btn:focus {
	outline:        2px solid var(--bbw-primary);
	outline-offset: 2px;
}

/* ─── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 640px) {
	.pennion-live-blogging-update {
		margin-left: 16px;
	}

	.pennion-live-blogging-updates-feed::before {
		left: 7px;
	}

	.pennion-live-blogging-update::before {
		left: -18px;
	}

	.pennion-live-blogging-event-title {
		font-size: 20px;
	}

	.pennion-live-blogging-update-gallery {
		grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   DARK THEME — COMPREHENSIVE FORCED OVERRIDES
   Must be LAST in the stylesheet to beat all other rules including WP theme.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Root container */
div.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark {
	background: transparent !important;
	color: #f8fafc !important;
}

/* Event Header & cards */
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-event-header {
	background:   #1e293b !important;
	border-color: #334155 !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-event-title,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-event-title * {
	color: #f8fafc !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-event-description,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-event-description * {
	color: #cbd5e1 !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-event-info,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-event-info * {
	color: #94a3b8 !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-event-meta {
	background: #1e293b !important;
}

/* Update cards */
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update {
	background:   #1e293b !important;
	border-color: #334155 !important;
	color:        #f8fafc !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body p,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body li,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body span,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body div {
	color: #f8fafc !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update-body a {
	color: #7dd3fc !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-author-name {
	color: #f8fafc !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update-timestamp {
	color: #94a3b8 !important;
}

/* Article embed cards */
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .lb24-article,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-article-card {
	background:   #0f172a !important;
	border-color: #334155 !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .lb24-article-title {
	color: #f8fafc !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .lb24-article-desc,
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .lb24-article-url {
	color: #94a3b8 !important;
}

/* Footer */
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update-footer-bar {
	border-top-color: #334155 !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-admin-btn {
	background:   #0f172a !important;
	border-color: #334155 !important;
	color:        #94a3b8 !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-copy-link-btn {
	background:   transparent !important;
	border-color: #334155 !important;
	color:        #94a3b8 !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-share-x {
	color: #e2e8f0 !important;
}

/* Quote, Poll, Ad */
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-quote {
	background:   #0f172a !important;
	color:        #f8fafc !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-poll {
	background:   #0f172a !important;
	border-color: #334155 !important;
	color:        #f8fafc !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-advertisement {
	background:   #0f172a !important;
	border-color: #334155 !important;
}

/* Load More */
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-load-more {
	background:   #1e293b !important;
	border-color: #334155 !important;
	color:        #94a3b8 !important;
}

/* Pinned/Highlighted states */
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update.is-pinned {
	background: #2a2310 !important;
}

.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-update.is-highlighted {
	background: #3a1015 !important;
}

/* Footer credits */
.pennion-live-blogging-timeline.pennion-live-blogging-theme-dark .pennion-live-blogging-footer-credits {
	border-top-color: #334155 !important;
	color:            #94a3b8 !important;
}
