/*
 * JetBet Predictions 1.6: readability and homepage design layer for the JetBet child theme.
 * Loaded last so it wins over the theme; "html body" raises specificity over the theme's inline <style> blocks.
 * Goals: no text under 12px, meta text readable on dark backgrounds, fewer tiny monospace labels,
 * a header that fits laptop screens, and a homepage that leads with predictions and news.
 */

/* ------------------------------------------------------------------ 1. Colour and type tokens */
html:root {
	--c-muted: #aab6cb;           /* was #7d8fab: body secondary text */
	--c-faint: #8f9cb5;           /* was #424e68 (about 2:1 contrast): dates, authors, leagues */
	--c-border: #232b42;
	--c-border2: #2c3652;
	--f-meta: 'Barlow', system-ui, sans-serif;
}
html body { font-size: 17px; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Tiny monospace labels become readable Barlow labels. Odds numbers keep their own styles. */
html body .jb-card-meta,
html body .jb-list-meta,
html body .jb-slide-meta,
html body .jb-sb-post-meta,
html body .jb-related-meta,
html body .jb-meta-text,
html body .jb-breadcrumb,
html body .jb-odds-match,
html body .jbp-o__meta,
html body .jb-tip-league,
html body .jb-tip-conf,
html body .jb-share-label,
html body .jb-author-role,
html body .tag-cloud-item {
	font-family: var(--f-meta) !important;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--c-faint);
}
html body .jb-meta-text { font-size: 14px !important; color: #c3cde0; }
html body .jb-meta-text strong { color: #fff; }
html body .jb-breadcrumb { font-size: 13px !important; }
html body .jb-slide-meta { color: #c3cde0; font-size: 13.5px !important; }
html body .jb-slide-meta-dot, html body .jb-meta-dot { background: #8f9cb5; }

html body .jb-tag {
	font-family: var(--f-meta);
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .07em;
	padding: 4px 10px;
}
html body .view-all,
html body .jb-card-read {
	font-family: var(--f-meta);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .03em;
}
html body .btn-sm { font-size: 12.5px; }
html body .jb-share-pill, html body .jb-share-btn { font-family: var(--f-meta); font-size: 13px; }
html body .jb-author-bio { font-size: 15px; color: var(--c-muted); }
html body .jb-author-link { font-size: 13px; }

/* ------------------------------------------------------------------ 2. Header: fits laptops */
html body .nav-item { font-size: 15px; font-weight: 600; color: #c9d3e5; padding: 0 12px; }
html body .nav-item:hover { color: #fff; }
@media (max-width: 1440px) {
	/* The homepage has its own search bar and the top strip links to Telegram, so these go first. */
	#headerActions > form, #headerActions > a[href*="t.me"] { display: none !important; }
	html body .nav-item { padding: 0 10px; }
}
@media (max-width: 1200px) {
	#desktopNav, #headerActions { display: none !important; }
	#hamburger { display: inline-flex !important; margin-left: auto !important; }
}

/* ------------------------------------------------------------------ 3. Section headings and cards */
html body .section-title,
html body h2.section-title {
	font-size: 26px;
	line-height: 1.2;
	letter-spacing: .02em;
}
html body .section-bar { width: 5px !important; height: 24px !important; border-radius: 3px; }
html body .section-header { margin-bottom: 18px; }
html body .view-all {
	border: 1px solid var(--c-lime-ring, rgba(126,211,33,.3));
	border-radius: 999px;
	padding: 6px 14px;
	transition: background .15s, color .15s;
}
html body .view-all:hover { background: var(--c-lime, #7ed321); color: #0b0d14; text-decoration: none; }

html body .jb-card {
	border-radius: 14px;
	overflow: hidden;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
html body .jb-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0,0,0,.4); border-color: var(--c-lime-ring, rgba(126,211,33,.3)); }
html body .jb-card-thumb { aspect-ratio: 16 / 9; height: auto !important; overflow: hidden; }
html body .jb-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
html body .jb-card:hover .jb-card-thumb img { transform: scale(1.05); }
html body .jb-card-body { padding: 16px; }
html body .jb-card-title { font-size: 17px; line-height: 1.35; font-weight: 700; }
html body .jb-list-title { font-size: 15px; line-height: 1.4; }
html body .jb-feat-title { font-size: 26px; }
html body .jb-feat-list-head { font-size: 14px; color: var(--c-muted); }
html body .jb-related-card-title { font-size: 15px; }

/* Balanced grids: 4 posts in the 3-column grid become 2 x 2; 3 posts in the 2-column grid become 3 across. */
@media (min-width: 769px) {
	html body .jb-grid-3:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html body .jb-grid-2:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Promo block: banner full width, two equal buttons under it. */
html body .jb-promo-btns { border-radius: 16px; gap: 10px; padding: 12px; margin-bottom: 36px; border: 1px solid var(--c-border); }
html body .jb-promo-btns > .jb-promo { grid-column: 1 / -1; margin: 0; }
html body .jb-promo-btn { font-size: 15px; padding: 13px; align-self: stretch; }

/* ------------------------------------------------------------------ 4. Hero slider */
html body .jb-slide-overlay {
	background: linear-gradient(90deg, rgba(8,10,16,.94) 0%, rgba(8,10,16,.72) 42%, rgba(8,10,16,.15) 75%), linear-gradient(0deg, rgba(8,10,16,.9) 0%, rgba(8,10,16,0) 45%) !important;
}
html body .jb-slide-title { text-shadow: 0 2px 18px rgba(0,0,0,.45); max-width: 640px; }
html body .jb-slide-deck { font-size: 17px; color: #dfe6f2; max-width: 540px; }
/* Arrows sit bottom-right, beside the dots, so they never cover the headline. */
html body .jb-arrows { top: auto; bottom: 18px; transform: none; justify-content: flex-end; gap: 8px; padding: 0 24px; }
html body .jb-arrow { width: 42px; height: 42px; background: rgba(8,10,16,.75); }

/* ------------------------------------------------------------------ 5. Article typography */
html body .jb-article-body { font-size: 18px; line-height: 1.8; color: #d5dcea; }
html body .jb-article-body p { margin-bottom: 1.15em; }
html body .jb-article-body li { margin-bottom: .45em; }
html body .jb-article-body h1,
html body .jb-article-body h2 {
	font-size: 30px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: .005em;
	text-transform: none !important;
}
html body .jb-article-body h3 { font-size: 23px !important; line-height: 1.25 !important; text-transform: none !important; }
html body .jb-article-body h4 { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 800; color: #eef2fc; text-transform: none; }
html body .jb-article-body strong { font-weight: 700; }
html body .jb-article-body a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
html body .jb-article-body blockquote { font-size: 18px; }
html body .jb-article-body th { font-family: var(--f-meta); font-size: 13px; color: #dfe6f2; }
html body .jb-article-body td { font-size: 15.5px; color: #c9d3e5; }
html body .jb-article-body figcaption, html body .wp-element-caption { font-size: 13px; color: var(--c-faint); }
html body .jb-hero-title { letter-spacing: .005em; }

/* ------------------------------------------------------------------ 6. Sidebar and footer */
html body .jb-sb-head { font-size: 15px; }
html body .jb-sb-cat-count { font-size: 13px; }
html body .jb-odds-disclaimer { font-size: 12px; color: var(--c-faint); }
html body .jb-odds-header-sub { font-size: 12px; }
html body .jb-sb-cta-pre { font-size: 12px; }
html body .site-footer .footer-copy,
html body .site-footer .footer-legal a { font-size: 13.5px; }
html body .site-footer .responsible-badge { font-size: 11.5px; }
html body .site-footer a { color: #c9d3e5; }

/* ------------------------------------------------------------------ 8. Remaining small text (theme inline styles) */
/* Lime strip above the header */
html body > div:has(+ header) { display: flex !important; overflow: hidden; }
html body > div:has(+ header) > div { font-size: 14.5px !important; white-space: nowrap; }
@media (max-width: 640px) { html body > div:has(+ header) > div:last-child { display: none !important; } html body > div:has(+ header) { justify-content: center !important; } }
html body > div:has(+ header) a { font-family: 'Barlow', sans-serif !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .06em !important; }
html body .jb-ticker-label { font-size: 13px; }
html body .jb-btn { font-size: 14px; }
html body .jb-sb-cta-pre { font-family: var(--f-meta); font-size: 13px !important; font-weight: 800; }
html body .jb-sb-cta-sub { font-size: 14px !important; }
html body .jb-sb-cta-tg { font-size: 14.5px !important; }
html body .jb-sb-cta-terms { font-family: var(--f-meta); font-size: 12px !important; }
html body .jb-odds-header-sub,
html body .jb-odds-disclaimer { font-family: var(--f-meta); font-size: 12.5px !important; }
html body .jb-av-live { font-size: 11.5px !important; }
html body .jb-av-body > div { font-size: 12px; }
html body .jb-av-sub { font-size: 12.5px !important; }
html body .jb-av-chip { font-size: 13px !important; }
html body .jb-tg-handle { font-family: var(--f-meta); font-size: 13px !important; }
html body .jb-tg-preview { font-size: 14px !important; }
html body .jb-tg-btn { font-size: 14.5px !important; }
html body .site-footer .responsible-badge { font-size: 12px !important; }
html body .site-footer .footer-copy,
html body .site-footer .footer-copy a,
html body .site-footer .footer-legal a { font-family: var(--f-meta) !important; font-size: 13.5px !important; }

/* ------------------------------------------------------------------ 7. Predictions HQ (homepage) */
.jbp-hq { max-width: 1240px; margin: 0 auto; padding: 26px 24px 6px; }
.jbp-hq__in {
	position: relative; overflow: hidden;
	display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 28px; align-items: stretch;
	background:
		radial-gradient(600px 300px at 0% 0%, rgba(126,211,33,.16), transparent 60%),
		radial-gradient(500px 280px at 100% 100%, rgba(74,143,226,.12), transparent 60%),
		linear-gradient(180deg, #151b2b 0%, #10141f 100%);
	border: 1px solid #2a3552; border-radius: 20px; padding: 30px;
	box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
.jbp-hq__kicker {
	display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px;
	font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--c-lime, #7ed321);
	background: rgba(126,211,33,.1); border: 1px solid rgba(126,211,33,.3); border-radius: 999px; padding: 5px 12px;
}
.jbp-hq__pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--c-lime, #7ed321); box-shadow: 0 0 0 0 rgba(126,211,33,.6); animation: jbpPulse 1.8s infinite; }
@keyframes jbpPulse { 0% { box-shadow: 0 0 0 0 rgba(126,211,33,.6); } 70% { box-shadow: 0 0 0 10px rgba(126,211,33,0); } 100% { box-shadow: 0 0 0 0 rgba(126,211,33,0); } }
.jbp-hq h1 {
	font-family: 'Barlow Condensed', sans-serif; font-size: clamp(30px, 4vw, 48px); font-weight: 900; line-height: 1.02;
	text-transform: uppercase; letter-spacing: .005em; color: #fff; margin: 0 0 12px;
}
.jbp-hq h1 span { color: var(--c-lime, #7ed321); }
.jbp-hq__copy p { font-size: 17px; line-height: 1.65; color: #cfd8e8; margin: 0 0 18px; max-width: 640px; }
.jbp-hq__copy p a { color: var(--c-lime, #7ed321); }
.jbp-hq__stats { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 20px; }
.jbp-hq__stat { flex: 1 1 130px; background: rgba(8,10,16,.45); border: 1px solid #2a3552; border-radius: 12px; padding: 12px 14px; }
.jbp-hq__stat b { display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 32px; font-weight: 900; line-height: 1; color: #fff; }
.jbp-hq__stat span { display: block; margin-top: 4px; font-size: 13px; font-weight: 600; color: #aab6cb; }
.jbp-hq__ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.jbp-hq__btn {
	display: inline-flex; align-items: center; gap: 8px; text-decoration: none !important;
	font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase;
	padding: 13px 22px; border-radius: 10px; transition: transform .15s, background .15s, box-shadow .15s;
}
.jbp-hq__btn.is-lime { background: var(--c-lime, #7ed321); color: #0b0d14 !important; box-shadow: 0 8px 24px rgba(126,211,33,.28); }
.jbp-hq__btn.is-lime:hover { background: #a0e44a; transform: translateY(-2px); }
.jbp-hq__btn.is-ghost { border: 2px solid rgba(255,255,255,.22); color: #fff !important; }
.jbp-hq__btn.is-ghost:hover { border-color: var(--c-lime, #7ed321); color: var(--c-lime, #7ed321) !important; }

/* Match of the day card */
.jbp-motd {
	display: flex; flex-direction: column; gap: 14px; text-decoration: none !important; color: #fff;
	background: linear-gradient(160deg, #1d2740 0%, #141a2a 100%);
	border: 1px solid rgba(126,211,33,.45); border-radius: 16px; padding: 20px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 30px rgba(0,0,0,.35);
	transition: transform .2s, box-shadow .2s;
}
.jbp-motd:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,.45), 0 0 0 1px var(--c-lime, #7ed321); }
.jbp-motd__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 10px; }
.jbp-motd__label, .jbp-motd__when { white-space: nowrap; }
.jbp-motd__label { font-size: 12.5px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: #0b0d14; background: var(--c-lime, #7ed321); border-radius: 6px; padding: 4px 9px; }
.jbp-motd__when { font-size: 13.5px; font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 6px; }
.jbp-motd__when .jbp-ico { color: var(--c-lime, #7ed321); }
.jbp-motd__comp { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--c-lime, #7ed321); margin-top: -4px; }
.jbp-motd__teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; text-align: center; }
.jbp-motd__team { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; }
.jbp-motd__team .jbp-crest { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0,0,0,.4)); }
.jbp-motd__team .jbp-crest--txt { width: 58px; height: 58px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #0e131f; border: 1px solid #2a3552; font-weight: 900; }
.jbp-motd__team strong { font-family: 'Barlow Condensed', sans-serif; font-size: 21px; font-weight: 900; line-height: 1.1; color: #fff; overflow-wrap: anywhere; }
.jbp-motd__vs { font-family: 'Barlow Condensed', sans-serif; font-size: 16px; font-weight: 900; color: #0b0d14; background: #fff; border-radius: 50%; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; }
.jbp-motd__probs { display: flex; height: 30px; border-radius: 8px; overflow: hidden; font-size: 13px; font-weight: 800; }
.jbp-motd__probs span { display: flex; align-items: center; justify-content: center; min-width: 38px; white-space: nowrap; }
.jbp-motd__probs .h { background: var(--c-lime, #7ed321); color: #0b0d14; }
.jbp-motd__probs .d { background: #3a4561; color: #fff; }
.jbp-motd__probs .a { background: #4a8fe2; color: #fff; }
.jbp-motd__legend { display: flex; justify-content: space-between; font-size: 12.5px; font-weight: 600; color: #aab6cb; margin-top: -8px; }
.jbp-motd__tip { display: flex; align-items: center; gap: 12px; background: rgba(126,211,33,.1); border: 1px solid rgba(126,211,33,.35); border-radius: 12px; padding: 11px 14px; }
.jbp-motd__tip em { font-style: normal; font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--c-lime, #7ed321); }
.jbp-motd__tip strong { flex: 1; font-family: 'Barlow Condensed', sans-serif; font-size: 22px; font-weight: 900; color: #fff; line-height: 1.1; }
.jbp-motd__tip b { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 900; color: #0b0d14; background: var(--c-lime, #7ed321); border-radius: 8px; padding: 3px 10px; }
.jbp-motd__go { font-size: 14px; font-weight: 800; color: var(--c-lime, #7ed321); text-align: right; }

.jbp-hq__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.jbp-hq__links a {
	font-size: 14px; font-weight: 700; padding: 8px 14px; border-radius: 999px; text-decoration: none;
	border: 1px solid #2c3652; background: #121827; color: #e6ecf7;
	transition: border-color .15s, color .15s;
}
.jbp-hq__links a:hover { border-color: var(--c-lime, #7ed321); color: var(--c-lime, #7ed321); }

/* Top tips band follows the HQ block: make its heading match the rest of the page. */
html body .jb-tips-band { padding: 26px 0; }
html body .jb-tips-band .jb-tips-title { font-size: 22px; color: #fff; }

@media (max-width: 900px) {
	.jbp-hq__in { grid-template-columns: 1fr; padding: 22px; gap: 20px; }
}
@media (max-width: 600px) {
	.jbp-hq { padding: 16px 12px 0; }
	.jbp-hq__in { padding: 18px 16px; border-radius: 16px; }
	.jbp-hq__stat b { font-size: 26px; }
	.jbp-hq__btn { flex: 1 1 100%; justify-content: center; }
	html body .section-title, html body h2.section-title { font-size: 22px; }
	html body .jb-article-body { font-size: 17px; }
	html body .jb-article-body h2 { font-size: 25px !important; }
	html body .jb-article-body h3 { font-size: 21px !important; }
	html body .jb-slide-deck { font-size: 15px; }
	html body .jb-arrows { display: none; }
	.jbp-motd { padding: 16px; }
	.jbp-motd__tip strong { font-size: 19px; }
	html body .jb-tips-band .jb-tips-title { font-size: 18px; }
}

/* ------------------------------------------------------------------ 9. JetBet guides (1.7) */
html body .jb-article-body table.jbp-facts { width: 100%; border-collapse: collapse; margin: 18px 0 26px; border: 1px solid #2a3552; border-radius: 12px; overflow: hidden; }
html body .jb-article-body table.jbp-facts th { width: 38%; text-align: left; background: #151b2a; color: #dfe6f2; font-size: 15px; letter-spacing: 0; text-transform: none; padding: 12px 14px; border-bottom: 1px solid #232b42; }
html body .jb-article-body table.jbp-facts td { color: #fff; font-size: 16px; padding: 12px 14px; border-bottom: 1px solid #232b42; }
html body .jb-article-body .jbp-note { background: rgba(245,166,35,.1); border: 1px solid rgba(245,166,35,.4); border-radius: 10px; padding: 14px 16px; color: #f3e2c2; }
html body .jb-article-body .jbp-rg { font-size: 15px; color: #aab6cb; border-top: 1px solid #232b42; padding-top: 14px; margin-top: 26px; }
html body .jb-article-body .jbp-faq h3 { font-size: 20px !important; margin: 20px 0 6px !important; }
.jbp-guide-box { margin: 30px 0 10px; padding: 18px 20px; background: linear-gradient(160deg, #1b2336, #141a2a); border: 1px solid rgba(126,211,33,.4); border-radius: 14px; }
.jbp-guide-box__t { margin: 0 0 10px !important; font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 900; text-transform: uppercase; color: #fff; }
.jbp-guide-box ul { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.jbp-guide-box li { margin: 0 !important; }
.jbp-guide-box a { display: inline-block; padding: 8px 13px; border-radius: 999px; border: 1px solid #2c3652; background: #10141f; color: #e6ecf7 !important; font-size: 14.5px; font-weight: 700; text-decoration: none !important; }
.jbp-guide-box a:hover { border-color: var(--c-lime, #7ed321); color: var(--c-lime, #7ed321) !important; }
.jbp-guide-box .is-hub a { background: var(--c-lime, #7ed321); border-color: var(--c-lime, #7ed321); color: #0b0d14 !important; }
.jbp-hq__links a.is-guide { background: var(--c-lime, #7ed321); border-color: var(--c-lime, #7ed321); color: #0b0d14; }

/* ------------------------------------------------------------------ 10. Predictions by date (1.9) */
.jbp-dates { display: flex; align-items: stretch; gap: 10px; margin: 6px 0 18px; }
.jbp-dates__row { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; padding: 2px 2px 8px; flex: 1; min-width: 0; scrollbar-width: thin; }
.jbp-dates__d {
	flex: none; scroll-snap-align: start; min-width: 92px; display: flex; flex-direction: column; align-items: center; gap: 2px;
	padding: 9px 10px; border-radius: 12px; text-decoration: none !important; text-align: center;
	background: #151b2a; border: 1px solid #2a3552; color: #e6ecf7 !important; transition: border-color .15s, transform .15s;
}
.jbp-dates__d:hover { border-color: var(--c-lime, #7ed321); transform: translateY(-1px); }
.jbp-dates__w { font-family: 'Barlow Condensed', sans-serif; font-size: 17px; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; color: #fff; line-height: 1.1; }
.jbp-dates__n { font-size: 13px; font-weight: 700; color: #cfd8e8; }
.jbp-dates__c { font-size: 12px; font-weight: 700; color: var(--c-lime, #7ed321); }
.jbp-dates__d.is-empty .jbp-dates__c { color: #8f9cb5; }
.jbp-dates__d.is-today { border-color: rgba(126,211,33,.6); }
.jbp-dates__d.is-on { background: var(--c-lime, #7ed321); border-color: var(--c-lime, #7ed321); }
.jbp-dates__d.is-on .jbp-dates__w, .jbp-dates__d.is-on .jbp-dates__n, .jbp-dates__d.is-on .jbp-dates__c { color: #0b0d14; }
.jbp-dates__pick { flex: none; display: flex; align-items: center; gap: 6px; margin: 0 0 8px; padding: 8px 10px; background: #151b2a; border: 1px solid #2a3552; border-radius: 12px; }
.jbp-dates__pick label { display: flex; flex-direction: column; gap: 3px; margin: 0; }
.jbp-dates__pick label span { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--c-lime, #7ed321); }
.jbp-dates__pick input[type=date] {
	background: #0e131f; color: #fff; border: 1px solid #2a3552; border-radius: 8px; padding: 6px 8px; font-size: 15px; font-weight: 700; color-scheme: dark; min-height: 36px;
}
.jbp-dates__pick button { background: var(--c-lime, #7ed321); color: #0b0d14; border: 0; border-radius: 8px; padding: 0 14px; min-height: 36px; align-self: flex-end; font-weight: 900; cursor: pointer; }
.jbp-dates.is-compact .jbp-dates__d { min-width: 84px; padding: 8px; }
.jbp-hq__days { margin-top: 16px; }
.jbp-hq__dl { display: block; margin: 0 0 8px; font-family: 'Barlow Condensed', sans-serif; font-size: 19px; font-weight: 900; text-transform: uppercase; color: #fff; }
.jbp-hq__days .jbp-dates { margin: 0; }
.jbp-hero__date { display: block; margin-top: 6px; font-size: .5em; color: var(--c-lime, #7ed321); letter-spacing: .02em; }
.jbp-day a { color: inherit !important; text-decoration: none !important; }
.jbp-day a:hover { color: var(--c-lime, #7ed321) !important; }
h2.jbp-day { font-size: 17px; }
.jbp-empty-day { background: #151b2a; border: 1px solid #2a3552; border-radius: 14px; padding: 22px; margin: 10px 0 24px; }
.jbp-empty-day .jbp-btn { display: inline-block; margin-top: 6px; }
@media (max-width: 700px) {
	.jbp-dates { flex-direction: column; gap: 6px; }
	.jbp-dates__pick { align-self: stretch; }
	.jbp-dates__pick label { flex: 1; }
	.jbp-dates__pick input[type=date] { width: 100%; }
	.jbp-dates__d { min-width: 80px; }
}

/* ------------------------------------------------------------------ 11. Homepage EPL section (1.9) */
.jbp-epl { max-width: 1240px; margin: 0 auto; padding: 18px 24px 6px; }
.jbp-epl__in {
	background: radial-gradient(520px 260px at 100% 0%, rgba(155,77,255,.18), transparent 60%), linear-gradient(180deg, #171a33 0%, #10141f 100%);
	border: 1px solid #36305a; border-radius: 20px; padding: 26px 28px; box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
.jbp-epl__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 16px; }
.jbp-epl__kicker { display: inline-block; font-size: 12.5px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: #3d195b; border: 1px solid #6b3fa0; border-radius: 6px; padding: 4px 9px; margin-bottom: 8px; }
.jbp-epl h2 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(28px, 3.4vw, 40px); font-weight: 900; text-transform: uppercase; line-height: 1; color: #fff; margin: 0; }
.jbp-epl h2 span { color: var(--c-lime, #7ed321); }
.jbp-epl__span { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: #aab6cb; }
.jbp-epl__rec { font-size: 14px; font-weight: 700; color: #e6ecf7; background: rgba(126,211,33,.1); border: 1px solid rgba(126,211,33,.35); border-radius: 999px; padding: 7px 14px; }
.jbp-epl__rec b { color: var(--c-lime, #7ed321); }
.jbp-epl__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.jbp-epl__m {
	display: flex; flex-direction: column; gap: 9px; padding: 12px 14px; border-radius: 12px; text-decoration: none !important; color: #fff !important;
	background: rgba(12,15,26,.65); border: 1px solid #2a3552; transition: border-color .15s, transform .15s;
}
.jbp-epl__m:hover { border-color: var(--c-lime, #7ed321); transform: translateY(-1px); }
.jbp-epl__m.is-done { opacity: .85; }
.jbp-epl__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.jbp-epl__when { font-size: 12.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #aab6cb; }
.jbp-epl__res { font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; border-radius: 6px; padding: 3px 8px; }
.jbp-epl__res.is-won { background: rgba(126,211,33,.18); color: var(--c-lime, #7ed321); }
.jbp-epl__res.is-lost { background: rgba(229,57,53,.18); color: #ff8a80; }
.jbp-epl__res.is-live { background: #e53935; color: #fff; }
.jbp-epl__tip { font-size: 13.5px; font-weight: 800; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jbp-epl__tip em { font-style: normal; color: var(--c-lime, #7ed321); text-transform: uppercase; font-size: 11.5px; letter-spacing: .08em; }
.jbp-epl__tip b { color: #0b0d14; background: var(--c-lime, #7ed321); border-radius: 5px; padding: 1px 6px; margin-left: 2px; }
.jbp-epl__teams { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; }
.jbp-epl__t { display: flex; align-items: center; gap: 8px; min-width: 0; font-family: 'Barlow Condensed', sans-serif; font-size: 19px; font-weight: 800; }
.jbp-epl__t span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jbp-epl__t.is-away { justify-content: flex-end; text-align: right; }
.jbp-epl__t .jbp-crest { width: 28px; height: 28px; object-fit: contain; flex: none; }
.jbp-epl__t .jbp-crest--txt { width: 28px; height: 28px; font-size: 11px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #0e131f; border: 1px solid #2a3552; flex: none; }
.jbp-epl__ko, .jbp-epl__score { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 900; background: #0e131f; border: 1px solid #2a3552; border-radius: 8px; padding: 3px 10px; white-space: nowrap; }
.jbp-epl__score { background: #fff; color: #0b0d14; border-color: #fff; }
.jbp-epl__p { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.jbp-epl__p span { text-align: center; font-size: 12.5px; font-weight: 700; color: #aab6cb; background: #151b2a; border-radius: 6px; padding: 4px 0; }
.jbp-epl__p span b { color: #fff; }
.jbp-epl__p span.is-pick { background: rgba(126,211,33,.16); color: var(--c-lime, #7ed321); box-shadow: inset 0 0 0 1px rgba(126,211,33,.5); }
.jbp-epl__p span.is-pick b { color: var(--c-lime, #7ed321); }
.jbp-epl__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.jbp-epl__news { margin-top: 22px; padding-top: 18px; border-top: 1px solid #2a3552; }
.jbp-epl__sub { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.jbp-epl__sub h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 23px; font-weight: 900; text-transform: uppercase; color: #fff; margin: 0; }
.jbp-epl__sub a { color: var(--c-lime, #7ed321) !important; font-weight: 800; font-size: 14.5px; text-decoration: none !important; white-space: nowrap; }
.jbp-epl__ng { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.jbp-epl__n { display: flex; flex-direction: column; gap: 6px; text-decoration: none !important; color: #fff !important; }
.jbp-epl__img { width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; border-radius: 10px; background: #151b2a; }
.jbp-epl__nt { font-size: 15.5px; font-weight: 700; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.jbp-epl__n:hover .jbp-epl__nt { color: var(--c-lime, #7ed321); }
.jbp-epl__nd { font-size: 12.5px; color: #8f9cb5; font-weight: 600; }
@media (max-width: 900px) {
	.jbp-epl__grid { grid-template-columns: 1fr; }
	.jbp-epl__ng { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.jbp-epl { padding: 14px 12px 0; }
	.jbp-epl__in { padding: 18px 14px; border-radius: 16px; }
	.jbp-epl__t { font-size: 17px; }
	.jbp-epl__ctas .jbp-hq__btn { flex: 1 1 100%; justify-content: center; }
}
@media (max-width: 420px) {
	.jbp-epl__t { font-size: 16px; gap: 6px; }
	.jbp-epl__t .jbp-crest, .jbp-epl__t .jbp-crest--txt { width: 22px; height: 22px; }
	.jbp-epl__ko, .jbp-epl__score { font-size: 17px; padding: 2px 7px; }
}

/* ------------------------------------------------------------------ 12. Live scores (1.10) */
.jbp-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #fff; margin-right: 5px; vertical-align: 1px; animation: jbpBlink 1.2s infinite; }
@keyframes jbpBlink { 50% { opacity: .25; } }
.jbp .jbp-badge { font-size: 11.5px; padding: 3px 8px; letter-spacing: .04em; }
.jbp .jbp-badge.is-live { animation: none; box-shadow: 0 0 0 0 rgba(229,57,53,.6); animation: jbpLivePulse 1.8s infinite; white-space: nowrap; }
@keyframes jbpLivePulse { 0% { box-shadow: 0 0 0 0 rgba(229,57,53,.55); } 70% { box-shadow: 0 0 0 8px rgba(229,57,53,0); } 100% { box-shadow: 0 0 0 0 rgba(229,57,53,0); } }
.jbp .jbp-score { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 900; line-height: 1; color: #fff; white-space: nowrap; }
.jbp .jbp-score.is-live { color: #ff5a52; }
.jbp-ft { font-size: 11.5px; font-weight: 800; letter-spacing: .06em; color: #aab6cb; white-space: nowrap; }
.jbp-ht { color: #8f9cb5; font-weight: 700; }
.jbp-tipnow { font-size: 11.5px; font-weight: 800; border-radius: 5px; padding: 2px 7px; white-space: nowrap; }
.jbp-tipnow.is-on { background: rgba(126,211,33,.16); color: var(--c-lime, #7ed321); }
.jbp-tipnow.is-off { background: #1e253a; color: #aab6cb; }
.jbp-card .jbp-tipnow { display: none; }
.jbp-card.is-live { border-left-color: #e53935; box-shadow: 0 6px 18px rgba(0,0,0,.35), 0 0 0 1px rgba(229,57,53,.35); }
.jbp-scoreboard.is-live { border-color: rgba(229,57,53,.5); }
.jbp-scoreboard .jbp-score { font-size: 44px; }
.jbp-scoreboard .jbp-goalwrap { grid-column: 1 / -1; max-width: 560px; width: 100%; margin: 0 auto; }
.jbp-sb-mid { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.jbp-goalwrap:empty { display: none; }
.jbp-goals { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: start; font-size: 13px; font-weight: 600; color: #cfd8e8; line-height: 1.45; }
.jbp-goals__h { text-align: left; }
.jbp-goals__a { text-align: right; }
.jbp-goals__i { font-size: 13px; opacity: .8; }
.jbp-epl__m.is-live { border-color: rgba(229,57,53,.6); box-shadow: 0 0 0 1px rgba(229,57,53,.25); }
.jbp-epl__score.is-live { background: #e53935; border-color: #e53935; color: #fff; }
.jbp-epl__res { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .jbp-dot, .jbp .jbp-badge.is-live { animation: none; } }

/* ------------------------------------------------------------------ 13. Archive layout fix (1.10.1)
   GeneratePress makes .site-content a flex row; the child theme's archive and search templates put
   their hero, filter bar and post grid directly inside it, which squeezed them into three columns. */
html body.archive .site-content,
html body.blog .site-content,
html body.search .site-content,
html body .site-content:has(> .jb-archive-wrap),
html body .site-content:has(> .search-hero) { display: block; }
html body .jb-filter-tabs { scrollbar-width: none; }
html body .jb-filter-tabs::-webkit-scrollbar { display: none; }

/* ------------------------------------------------------------------ 14. Team search + team pages (1.13) */
.jbp-tsearch { position: relative; margin: 6px 0 16px; max-width: 720px; }
.jbp-tsearch__label { display: block; margin: 0 0 6px; font-family: 'Barlow Condensed', sans-serif; font-size: 19px; font-weight: 900; text-transform: uppercase; color: #fff; }
.jbp-tsearch__row { display: flex; gap: 8px; }
.jbp-tsearch__in {
	flex: 1; min-width: 0; min-height: 48px; padding: 10px 14px 10px 42px; border-radius: 12px; font-size: 16px; font-weight: 600;
	background: #0e131f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237ed321' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 14px center no-repeat;
	border: 1px solid #2a3552; color: #fff !important;
}
.jbp-tsearch__in::placeholder { color: #8f9cb5; }
.jbp-tsearch__in:focus { outline: none; border-color: var(--c-lime, #7ed321); box-shadow: 0 0 0 3px rgba(126,211,33,.25); }
.jbp-tsearch__btn { min-height: 48px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--c-lime, #7ed321); color: #0b0d14; font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.jbp-tsearch__list { position: absolute; z-index: 50; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 6px; list-style: none; background: #151b2a; border: 1px solid #2a3552; border-radius: 12px; box-shadow: 0 18px 40px rgba(0,0,0,.5); max-height: 360px; overflow: auto; }
.jbp-tsearch__list li { margin: 0; }
.jbp-tsearch__list li.is-none { padding: 10px 12px; color: #aab6cb; font-size: 14px; }
.jbp-tsearch__list a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: 15px; }
.jbp-tsearch__list a img { width: 22px; height: 22px; object-fit: contain; flex: none; }
.jbp-tsearch__list a small { margin-left: auto; color: #8f9cb5; font-size: 12px; font-weight: 600; white-space: nowrap; }
.jbp-tsearch__list li.is-active a, .jbp-tsearch__list a:hover { background: #1f2840; }
.jbp-tsearch.is-compact { margin: 0; }
.jbp-hq__search { margin-top: 16px; }
.jbp-hq__search .jbp-tsearch { max-width: none; }
.jbp-answer { margin: 4px 0 16px; padding: 14px 16px; border-radius: 12px; background: rgba(126,211,33,.08); border: 1px solid rgba(126,211,33,.35); color: #e6ecf7; font-size: 16px; line-height: 1.6; }
.jbp-answer strong { color: #fff; }
.jbp-answer a { color: var(--c-lime, #7ed321) !important; font-weight: 700; }
.jbp-teamhero { display: flex; align-items: center; gap: 16px; }
.jbp-teamhero .jbp-crest { width: 64px; height: 64px; object-fit: contain; flex: none; }
.jbp-form { display: inline-flex; gap: 4px; vertical-align: middle; margin-left: 4px; }
.jbp-form b, .jbp-res { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 5px; font-size: 12px; font-weight: 900; color: #fff; }
.jbp-form b.is-w, .jbp-res.is-w { background: #2e9e3e; }
.jbp-form b.is-d, .jbp-res.is-d { background: #6b7280; }
.jbp-form b.is-l, .jbp-res.is-l { background: #c0392b; }
.jbp-tablewrap { overflow-x: auto; margin: 0 0 20px; }
.jbp-results { width: 100%; border-collapse: collapse; font-size: 15px; }
.jbp-results th { text-align: left; color: #aab6cb; font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; padding: 8px 10px; border-bottom: 1px solid #2a3552; }
.jbp-results td { padding: 10px; border-bottom: 1px solid #1e253a; color: #e6ecf7; vertical-align: middle; }
.jbp-results a { color: #fff !important; text-decoration: none; font-weight: 700; }
.jbp-results a:hover { color: var(--c-lime, #7ed321) !important; }
.jbp-sb-team a { color: inherit !important; text-decoration: none; }
.jbp-sb-team a:hover { color: var(--c-lime, #7ed321) !important; }
@media (max-width: 600px) {
	.jbp-tsearch__btn { padding: 0 14px; font-size: 16px; }
	.jbp-teamhero { flex-direction: column; align-items: flex-start; gap: 10px; }
	.jbp-teamhero .jbp-crest { width: 48px; height: 48px; }
	.jbp-results { font-size: 14px; }
}
