/*
Theme Name: Slotimo Blog
Theme URI: https://slotimo.com/blog
Author: Slotimo
Description: Child theme of Astra for Slotimo blog. Winpot-style layout, Slotimo colors.
Version: 0.3.44
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: slotimo-blog
Template: astra
*/

/* ==========================================================================
   Slotimo palette + typography
   ========================================================================== */

:root {
	--slotimo-primary: #1C68EC;
	--slotimo-primary-dark: #1552BC;
	--slotimo-accent: #45B723;
	--slotimo-dark: #333333;
	--slotimo-text: #333333;
	--slotimo-text-muted: #666;
	--slotimo-bg-content: #F5F5F7;
	--slotimo-bg-subtle: #ebebed;
	--slotimo-border: #e0e0e2;
}

body {
	font-family: 'Open Sans', 'Inter', system-ui, -apple-system, sans-serif !important;
	color: var(--slotimo-text) !important;
	background-color: var(--slotimo-bg-content) !important;
	font-size: 16px;
	overflow-x: hidden;
}

a {
	color: var(--slotimo-primary) !important;
}
a:hover {
	color: var(--slotimo-primary-dark) !important;
}

/* ==========================================================================
   Layout: content + sidebar (Winpot 2-col)
   Article ~68%, Sidebar ~28%, Gutter ~4%
   ========================================================================== */

.ast-container {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: flex-start;
}

#primary {
	flex: 68 1 0;
	min-width: 0;
}

#secondary.slotimo-sidebar {
	flex: 28 0 0;
	min-width: 260px;
	align-self: flex-start;
}

/* Breadcrumb as full-width row above both columns — no margin-top hacks needed */
.ast-container > .slotimo-breadcrumb {
	flex-basis: 100%;
	width: 100%;
	margin-bottom: 0;
}

/* Widen content area (single/archive/page) — Winpot-style full use of viewport */
body.single .site-content .ast-container,
body.archive .site-content .ast-container,
body.category .site-content .ast-container,
body.tag .site-content .ast-container,
body.author .site-content .ast-container,
body.page .site-content .ast-container {
	max-width: 1320px !important;
	width: 100%;
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	gap: 0.75rem !important;
}

/* Reset Astra margins on primary/secondary — breadcrumb is now a full-width flex row above both */
body.single #primary,
body.archive #primary,
body.category #primary,
body.tag #primary,
body.author #primary,
body.page #primary {
	margin: 0 !important;
	padding: 0 !important;
}

body.single #secondary.slotimo-sidebar,
body.archive #secondary.slotimo-sidebar,
body.category #secondary.slotimo-sidebar,
body.tag #secondary.slotimo-sidebar,
body.author #secondary.slotimo-sidebar,
body.page #secondary.slotimo-sidebar {
	margin: 0 !important;
	padding: 0 !important;
}

/* Breathing room above breadcrumb */
body.single .site-content,
body.archive .site-content,
body.category .site-content,
body.tag .site-content,
body.author .site-content,
body.page .site-content {
	padding-top: 1rem !important;
	margin-top: 0 !important;
}
body.single .site-content > .ast-container,
body.archive .site-content > .ast-container,
body.category .site-content > .ast-container,
body.tag .site-content > .ast-container,
body.author .site-content > .ast-container,
body.page .site-content > .ast-container {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

@media (max-width: 782px) {
	body.single .site-content .ast-container,
	body.archive .site-content .ast-container,
	body.category .site-content .ast-container,
	body.tag .site-content .ast-container,
	body.author .site-content .ast-container,
	body.page .site-content .ast-container {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
		gap: 0.5rem !important;
	}

	#primary {
		flex: 1 1 100%;
		max-width: 100%;
	}

	#secondary.slotimo-sidebar {
		display: none;
	}
}

/* ==========================================================================
   Home: Hero + Category sections
   ========================================================================== */

.slotimo-home__title {
	font-family: 'Inter', sans-serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--slotimo-dark);
	margin: 0 0 1.25rem;
	line-height: 1.2;
}

@media (max-width: 782px) {
	.slotimo-home__title {
		font-size: 1.65rem;
		margin-bottom: 1rem;
	}
}

.slotimo-hero {
	margin-bottom: 2.5rem;
}

.slotimo-hero__title {
	font-family: 'Inter', sans-serif;
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--slotimo-dark);
	border-bottom: 2px solid var(--slotimo-primary);
	padding-bottom: 0.5rem;
	margin-bottom: 1rem;
}

.slotimo-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
	grid-template-rows: minmax(220px, auto) minmax(180px, auto);
	grid-template-areas:
		'lead top top'
		'lead bottom-left bottom-right';
	gap: 0.85rem;
}

.slotimo-section {
	margin-bottom: 2.5rem;
}

.slotimo-section-pair {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(290px, 1fr);
	gap: 1.1rem;
	align-items: start;
	margin-bottom: 2.5rem;
}

.slotimo-section-pair > .slotimo-section,
.slotimo-section-pair > .slotimo-section-rail {
	margin-bottom: 0;
}

.slotimo-section-pair > .slotimo-section,
.slotimo-section-pair > .slotimo-section-rail,
.slotimo-priority-pair > .slotimo-priority-section,
.slotimo-priority-pair > .slotimo-priority-rail {
	min-width: 0;
}

.slotimo-priority-section {
	margin-bottom: 2.5rem;
}

.slotimo-priority-pair {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(290px, 1fr);
	gap: 1.1rem;
	align-items: start;
	margin-bottom: 2.5rem;
}

.slotimo-priority-pair > .slotimo-priority-section,
.slotimo-priority-pair > .slotimo-priority-rail {
	margin-bottom: 0;
}

.slotimo-priority-section__title {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 1.6rem;
	margin: 0 0 0.9rem;
}

.slotimo-priority-section__title::after,
.slotimo-priority-rail__title::after,
.slotimo-section__title::after,
.slotimo-section-rail__title::after {
	content: '';
	flex: 1 1 auto;
	height: 1px;
	background: #252f45;
}

.slotimo-priority-section__title span {
	display: inline-block;
	padding: 0.18rem 0.6rem;
	background: #8fdf47;
	color: #13203a;
	border-radius: 4px;
	font-family: 'Inter', sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.slotimo-priority-section__list {
	display: grid;
	gap: 1.2rem;
}

.slotimo-priority-item--hidden {
	display: none;
}

.slotimo-priority-section--expanded .slotimo-priority-item--hidden {
	display: block;
}

.slotimo-priority-card {
	display: grid;
	grid-template-columns: minmax(220px, 42%) 1fr;
	gap: 1rem;
	align-items: start;
}

.slotimo-priority-card__thumb {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 16/9;
}

.slotimo-priority-card__thumb picture {
	display: block;
	width: 100%;
	height: 100%;
}

.slotimo-priority-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.slotimo-priority-card__title {
	font-family: 'Inter', sans-serif;
	font-size: 2rem;
	line-height: 1.15;
	font-weight: 700;
	margin: 0 0 0.75rem;
}

.slotimo-priority-card__title a {
	color: #141e34 !important;
}

.slotimo-priority-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 0.75rem;
	font-size: 0.95rem;
	color: #2b3548;
}

.slotimo-priority-card__cat a {
	display: inline-block;
	padding: 0.18rem 0.6rem;
	background: #8fdf47;
	color: #102138 !important;
	font-weight: 700;
	border-radius: 3px;
	font-size: 0.95rem;
	line-height: 1;
	text-transform: uppercase;
}

.slotimo-priority-card__author a {
	color: #182236 !important;
	font-weight: 700;
}

.slotimo-priority-card__dot {
	color: #7bc943;
}

.slotimo-priority-card__excerpt {
	font-size: 1rem;
	line-height: 1.45;
	color: #2b3548;
}

.slotimo-priority-more {
	margin-top: 1rem;
	border: 1px solid #1c68ec;
	background: #fff;
	color: #1c68ec;
	padding: 0.5rem 0.95rem;
	border-radius: 6px;
	font-weight: 600;
	cursor: pointer;
}

.slotimo-priority-more:hover {
	background: #1c68ec;
	color: #fff;
}

.slotimo-priority-rail {
	padding-top: 0;
	display: flex;
	flex-direction: column;
}

.slotimo-priority-rail__title {
	font-family: 'Inter', sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 1.6rem;
	margin: 0 0 0.9rem;
	padding: 0;
}

.slotimo-priority-rail__title a {
	display: inline-block;
	padding: 0.18rem 0.6rem;
	background: #8fdf47;
	color: #13203a !important;
	border-radius: 4px;
	line-height: 1;
	text-transform: uppercase;
	font-size: 0.95rem;
	font-weight: 700;
}

.slotimo-priority-rail__list {
	display: grid;
	gap: 0.8rem;
}

.slotimo-priority-rail__more {
	display: inline-flex;
	margin-top: 0.9rem;
	align-self: center;
	border: 1px solid #1c68ec;
	background: #fff;
	color: #1c68ec !important;
	padding: 0.45rem 0.9rem;
	border-radius: 6px;
	font-weight: 600;
}

.slotimo-priority-rail__more:hover {
	background: #1c68ec;
	color: #fff !important;
}

.slotimo-compact-card {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 0.7rem;
	align-items: start;
}

.slotimo-compact-card__thumb {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 4px;
}

.slotimo-compact-card__thumb picture {
	display: block;
	width: 100%;
	height: 100%;
}

.slotimo-compact-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.slotimo-compact-card__body {
	min-width: 0;
}

.slotimo-compact-card__title {
	margin: 0 0 0.3rem;
	font-size: 1.15rem;
	line-height: 1.12;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
}

.slotimo-compact-card__title a {
	color: #141e34 !important;
}

.slotimo-compact-card__meta {
	font-size: 0.95rem;
	color: #2b3548;
	line-height: 1.25;
}

.slotimo-compact-card__meta a {
	color: #2b3548 !important;
	font-weight: 700;
}

.slotimo-section__title {
	margin: 0 0 0.9rem;
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 1.6rem;
}

.slotimo-section__title a {
	display: inline-block;
	padding: 0.18rem 0.6rem;
	background: #8fdf47;
	color: #13203a !important;
	border-radius: 4px;
	font-family: 'Inter', sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.slotimo-section__title a:hover {
	opacity: 0.9;
}

.slotimo-section-rail {
	padding-top: 0;
	display: flex;
	flex-direction: column;
}

.slotimo-section-rail__title {
	font-family: 'Inter', sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 1.6rem;
	margin: 0 0 0.9rem;
	padding: 0;
}

.slotimo-section-rail__title a {
	display: inline-block;
	padding: 0.18rem 0.6rem;
	background: #8fdf47;
	color: #13203a !important;
	border-radius: 4px;
	line-height: 1;
	text-transform: uppercase;
	font-size: 0.95rem;
	font-weight: 700;
}

.slotimo-section-rail__list {
	display: grid;
	gap: 0.8rem;
}

.slotimo-section-rail__more {
	display: inline-flex;
	margin-top: 0.9rem;
	align-self: center;
	border: 1px solid #1c68ec;
	background: #fff;
	color: #1c68ec !important;
	padding: 0.45rem 0.9rem;
	border-radius: 6px;
	font-weight: 600;
}

.slotimo-section-rail__more:hover {
	background: #1c68ec;
	color: #fff !important;
}

.slotimo-section__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
}

/* ==========================================================================
   Post cards
   ========================================================================== */

.slotimo-card {
	background: #ffffff;
	border: 1px solid var(--slotimo-border);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s;
}

.slotimo-card:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.slotimo-card__thumb {
	display: block;
	aspect-ratio: 16/10;
	overflow: hidden;
}

.slotimo-card__thumb img,
.slotimo-card__thumb picture {
	width: 100%;
	height: 100%;
}

.slotimo-card__thumb picture {
	display: block;
}

.slotimo-card__thumb img {
	object-fit: cover;
}

.slotimo-card__body {
	padding: 1rem;
}

.slotimo-card__cat {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--slotimo-accent) !important;
	display: block;
	margin-bottom: 0.5rem;
}

.slotimo-card__title {
	font-family: 'Inter', sans-serif;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0 0 0.5rem;
}

.slotimo-card__title a {
	color: var(--slotimo-text) !important;
}

.slotimo-card__title a:hover {
	color: var(--slotimo-primary) !important;
}

.slotimo-card__meta {
	font-size: 0.875rem;
	color: var(--slotimo-text-muted) !important;
}

.slotimo-card__meta a {
	color: var(--slotimo-text-muted) !important;
}

.slotimo-card__meta a:hover {
	color: var(--slotimo-primary) !important;
}

.slotimo-card__excerpt {
	font-size: 0.875rem;
	color: var(--slotimo-text-muted);
	margin-top: 0.5rem;
	line-height: 1.5;
}

.slotimo-card--hero-bg {
	position: relative;
	border: none;
	min-height: 220px;
	border-radius: 6px;
	overflow: hidden;
}

/* Real <img>/<picture> so optimizers (e.g. EWWW) can serve WebP; replaces CSS background-image URL. */
.slotimo-card__hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.slotimo-card__hero-media picture,
.slotimo-card__hero-media img {
	display: block;
	width: 100%;
	height: 100%;
}

.slotimo-card__hero-media img {
	object-fit: cover;
}

.slotimo-card--hero-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(9,17,31,0.12) 0%, rgba(9,17,31,0.58) 56%, rgba(9,17,31,0.9) 100%);
}

.slotimo-card--hero-bg .slotimo-card__body {
	position: relative;
	z-index: 2;
	height: 100%;
	min-height: 220px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0.95rem 1rem 1.1rem;
	gap: 0.25rem;
}

/* Keep full text stack pinned to bottom for stable alignment across images. */
.slotimo-card--hero-bg .slotimo-card__body > :first-child {
	margin-top: auto;
}

.slotimo-card--hero-bg .slotimo-card__cat a,
.slotimo-card--hero-bg .slotimo-card__title a,
.slotimo-card--hero-bg .slotimo-card__meta,
.slotimo-card--hero-bg .slotimo-card__meta a {
	color: #ffffff !important;
}

.slotimo-card--hero-bg .slotimo-card__cat {
	margin-bottom: 0.45rem;
}

.slotimo-card--hero-bg .slotimo-card__cat a {
	display: inline-block;
	background: #8fdf47;
	color: #12203a !important;
	padding: 0.2rem 0.6rem;
	border-radius: 3px;
	font-weight: 700;
}

.slotimo-card--hero-bg .slotimo-card__title {
	margin-bottom: 0.35rem;
}

.slotimo-hero__grid > .slotimo-card:nth-child(1) {
	grid-area: lead;
	min-height: 410px;
}

.slotimo-hero__grid > .slotimo-card:nth-child(2) {
	grid-area: top;
	min-height: 255px;
}

.slotimo-hero__grid > .slotimo-card:nth-child(3) {
	grid-area: bottom-left;
	min-height: 185px;
}

.slotimo-hero__grid > .slotimo-card:nth-child(4) {
	grid-area: bottom-right;
	min-height: 185px;
}

.slotimo-hero__grid > .slotimo-card:nth-child(1) .slotimo-card__title {
	font-size: 2.3rem;
	line-height: 1.1;
}

.slotimo-hero__grid > .slotimo-card:nth-child(1) .slotimo-card__body {
	padding-bottom: 1.35rem;
}

.slotimo-hero__grid > .slotimo-card:nth-child(2) .slotimo-card__title {
	font-size: 2rem;
	line-height: 1.12;
}

.slotimo-hero__grid > .slotimo-card:nth-child(3) .slotimo-card__title,
.slotimo-hero__grid > .slotimo-card:nth-child(4) .slotimo-card__title {
	font-size: 1.05rem;
	line-height: 1.2;
}

.slotimo-hero__grid > .slotimo-card:nth-child(3) .slotimo-card__meta,
.slotimo-hero__grid > .slotimo-card:nth-child(4) .slotimo-card__meta {
	font-size: 0.95rem;
}

/* ==========================================================================
   Archive (category/tag)
   ========================================================================== */

.slotimo-archive-header {
	padding-top: 0.15rem;
	margin-bottom: 1.5rem;
}

/* Keep first archive/sidebar title line on the same visual anchor. */
body.archive #secondary.slotimo-sidebar .slotimo-widget:first-child,
body.category #secondary.slotimo-sidebar .slotimo-widget:first-child,
body.tag #secondary.slotimo-sidebar .slotimo-widget:first-child,
body.author #secondary.slotimo-sidebar .slotimo-widget:first-child {
	padding-top: 0.15rem;
}

body.archive #secondary.slotimo-sidebar > .slotimo-widget__title:first-child,
body.category #secondary.slotimo-sidebar > .slotimo-widget__title:first-child,
body.tag #secondary.slotimo-sidebar > .slotimo-widget__title:first-child,
body.author #secondary.slotimo-sidebar > .slotimo-widget__title:first-child {
	padding-top: 0.15rem;
}

.slotimo-archive-title {
	font-family: 'Inter', sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--slotimo-dark);
	border-bottom: 2px solid var(--slotimo-primary);
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
}

.slotimo-archive-desc {
	color: var(--slotimo-text-muted);
	font-size: 0.9375rem;
	margin-top: 0.5rem;
}

.slotimo-breadcrumb {
	font-size: 1.1875rem;
	color: #3b4352;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.slotimo-archive .slotimo-breadcrumb {
	text-align: left;
}

.slotimo-single .slotimo-breadcrumb {
	margin-bottom: 1rem;
	text-align: left;
}

.slotimo-breadcrumb a {
	color: #3b4352 !important;
	font-weight: 700;
}

.slotimo-breadcrumb a:hover {
	color: #3b4352 !important;
	opacity: 0.85;
}

.slotimo-archive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.slotimo-archive-cat-intro {
	margin: 0.5rem 0 1.5rem;
	color: var(--slotimo-text);
	font-size: 1rem;
	line-height: 1.6;
}

.slotimo-archive-cat-intro :first-child {
	margin-top: 0;
}

.slotimo-archive-cat-intro :last-child {
	margin-bottom: 0;
}

.slotimo-archive-cat-description {
	margin: 1.5rem 0 2rem;
	padding: 1.25rem 1.5rem;
	background: #f7f9fc;
	border-radius: 8px;
	color: var(--slotimo-text);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.slotimo-archive-cat-description :first-child {
	margin-top: 0;
}

.slotimo-archive-cat-description :last-child {
	margin-bottom: 0;
}

.slotimo-load-more-sentinel {
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	padding: 1.5rem 0 2rem;
	min-height: 2rem;
}

.slotimo-load-more-sentinel[aria-busy="true"]::after {
	content: '';
	display: block;
	width: 2rem;
	height: 2rem;
	border: 3px solid #d8dee8;
	border-top-color: var(--slotimo-primary);
	border-radius: 50%;
	animation: slotimo-spin 0.7s linear infinite;
}

@keyframes slotimo-spin {
	to { transform: rotate(360deg); }
}

/* ==========================================================================
   Single post
   ========================================================================== */

.slotimo-article {
	max-width: none;
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
}

.slotimo-article__header {
	margin-bottom: 1rem;
}

.slotimo-article__cat {
	display: inline-block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--slotimo-accent) !important;
	margin-bottom: 0.5rem;
}

.slotimo-article__title {
	font-family: 'Inter', sans-serif;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 0.5rem;
	color: var(--slotimo-text);
}

.slotimo-article__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	font-size: 0.875rem;
	color: var(--slotimo-text-muted) !important;
}

.slotimo-article__author {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.slotimo-article__author-avatar {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.slotimo-article__date::before {
	content: '\2014';
	opacity: 0.8;
	margin: 0 0.35rem 0 0.1rem;
}

.slotimo-article__meta a {
	color: var(--slotimo-text-muted) !important;
}

.slotimo-article__meta a:hover {
	color: var(--slotimo-primary) !important;
}

.slotimo-article__share {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.slotimo-article__share a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 0.5rem;
	background-color: var(--slotimo-border);
	color: var(--slotimo-text) !important;
	border-radius: 6px;
	font-size: 0.8125rem;
	font-weight: 500;
	text-decoration: none !important;
	transition: background-color 0.2s, color 0.2s;
}

.slotimo-article__share a:hover {
	background-color: var(--slotimo-primary);
	color: #fff !important;
}

.slotimo-article__tags {
	margin-top: 0.6rem;
}


.slotimo-article__thumb {
	margin-bottom: 1.5rem;
	border-radius: 8px;
	overflow: hidden;
}

.slotimo-article__thumb picture {
	display: block;
	width: 100%;
}

.slotimo-article__thumb img {
	width: 100%;
	height: auto;
	display: block;
}

.slotimo-article__content {
	line-height: 1.65;
}

/* Strip donor/inline framed image styles inside article content. */
.slotimo-article__content figure,
.slotimo-article__content .wp-block-image,
.slotimo-article__content .wp-caption {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.slotimo-article__content figure img,
.slotimo-article__content .wp-block-image img,
.slotimo-article__content .wp-caption img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	border: 0 !important;
	box-shadow: none !important;
}

.slotimo-article__content h2 {
	font-family: 'Inter', sans-serif;
	font-size: 1.375rem;
	font-weight: 600;
	margin: 1.5rem 0 0.75rem;
	color: var(--slotimo-dark);
}

.slotimo-article__content h3 {
	font-family: 'Inter', sans-serif;
	font-size: 1.125rem;
	font-weight: 600;
	margin: 1.25rem 0 0.5rem;
	color: var(--slotimo-dark);
}

.slotimo-article__content a {
	color: var(--slotimo-primary) !important;
}

.slotimo-article__footer {
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid var(--slotimo-border);
	font-size: 0.875rem;
	color: var(--slotimo-text-muted);
}

/* Brand page: logo in header */
.slotimo-article__brand-logo {
	margin: 0 0 1rem;
}

.slotimo-article__brand-logo img {
	display: block;
	max-width: 120px;
	height: auto;
}

.slotimo-article__brand-rating {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--slotimo-primary);
	margin-top: 0.25rem;
}

/* ==========================================================================
   Brand listing (shortcode)
   ========================================================================== */

.brand-listing-widget {
	margin: 2rem 0;
	padding: 1.5rem 0;
}

.brand-listing-widget__title {
	font-family: 'Inter', sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	color: var(--slotimo-dark);
}

.brand-listing-widget__intro {
	margin: 0 0 1.25rem;
	color: var(--slotimo-text-muted);
	line-height: 1.5;
}

.brand-listing-widget__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

@media (min-width: 600px) {
	.brand-listing-widget__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 900px) {
	.brand-listing-widget__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.brand-listing-card {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid var(--slotimo-border);
	border-radius: 8px;
	transition: box-shadow 0.2s;
}

.brand-listing-card:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.brand-listing-card__position {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: var(--slotimo-primary);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	border-radius: 6px;
}

.brand-listing-card__logo {
	display: block;
	max-width: 100px;
	height: 40px;
}

.brand-listing-card__logo img {
	width: auto;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.brand-listing-card__title {
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.3;
}

.brand-listing-card__title a {
	color: var(--slotimo-text) !important;
}

.brand-listing-card__title a:hover {
	color: var(--slotimo-primary) !important;
}

.brand-listing-card__rating-value {
	font-weight: 600;
	color: var(--slotimo-primary);
}

.brand-listing-card__promo {
	font-size: 0.875rem;
}

.brand-listing-card__promo code {
	padding: 0.2rem 0.5rem;
	background: #eef1f5;
	border-radius: 4px;
	font-size: 0.8125rem;
}

.brand-listing-card__bonuses {
	margin: 0;
	padding: 0 0 0 1.25rem;
	font-size: 0.875rem;
	color: var(--slotimo-text-muted);
	line-height: 1.4;
}

.brand-listing-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.25rem;
	padding: 0.5rem 1rem;
	background: var(--slotimo-primary) !important;
	color: #fff !important;
	border-radius: 6px;
	font-weight: 600;
	font-size: 0.9375rem;
	text-decoration: none !important;
	transition: background 0.2s;
}

.brand-listing-card__cta:hover {
	background: var(--slotimo-primary-dark) !important;
	color: #fff !important;
}

/* ============================================================
   Brand listing — TABLE view
   Server-side rendered, Googlebot reads full HTML.
   Only .blt-cta href is deferred via go-links.js.
   ============================================================ */

.brand-listing-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.brand-listing-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
	line-height: 1.4;
}

.brand-listing-table thead th {
	padding: 0.625rem 0.75rem;
	text-align: left;
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--slotimo-text-muted, #666);
	border-bottom: 2px solid var(--slotimo-border, #e2e8f0);
	white-space: nowrap;
}

.brand-listing-row {
	border-bottom: 1px solid var(--slotimo-border, #e2e8f0);
	transition: background 0.15s;
}

.brand-listing-row:last-child {
	border-bottom: none;
}

.brand-listing-row:hover {
	background: #f7f9fc;
}

.brand-listing-table td {
	padding: 0.75rem;
	vertical-align: middle;
}

/* position badge */
.blt-pos {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	background: var(--slotimo-primary, #1C68EC);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 700;
	border-radius: 6px;
}

.blt-pos--none {
	background: #ddd;
	color: #999;
}

/* casino column: logo + name stacked */
.col-casino {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 160px;
}

.blt-logo {
	display: block;
	flex-shrink: 0;
	width: 72px;
	height: 36px;
}

.blt-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.blt-name {
	font-weight: 600;
	color: var(--slotimo-text, #1a202c) !important;
	text-decoration: none !important;
	line-height: 1.3;
}

.blt-name:hover {
	color: var(--slotimo-primary, #1C68EC) !important;
}

/* star rating */
.star-rating {
	display: inline-flex;
	align-items: center;
	gap: 1px;
	font-size: 1rem;
	line-height: 1;
}

.star--full {
	color: #f5a623;
}

.star--half {
	color: #f5a623;
	opacity: 0.55;
}

.star--empty {
	color: #cbd5e0;
}

.blt-rating-num {
	margin-left: 0.375rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--slotimo-text-muted, #666);
	vertical-align: middle;
}

/* bonus */
.blt-bonus {
	font-weight: 700;
	color: var(--slotimo-dark, #1a202c);
	white-space: nowrap;
}

.blt-bonus-none,
.blt-rating-none {
	color: #aaa;
}

/* CTA button */
.blt-cta {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	padding: 0.45rem 1rem;
	background: var(--slotimo-primary, #1C68EC) !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 0.875rem;
	border-radius: 6px;
	text-decoration: none !important;
	transition: background 0.2s;
}

.blt-cta:hover {
	background: var(--slotimo-primary-dark, #1552BC) !important;
	color: #fff !important;
}

.blt-cta--review {
	background: #64748b !important;
}

.blt-cta--review:hover {
	background: #475569 !important;
}

/* hide # and logo columns on very small screens */
@media (max-width: 479px) {
	.col-pos {
		display: none;
	}
	.blt-logo {
		display: none;
	}
	.col-casino {
		min-width: 100px;
	}
	.brand-listing-table thead th.col-pos {
		display: none;
	}
}

/* screen-reader only helper */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.slotimo-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.slotimo-tags__link {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.7rem;
	border-radius: 6px;
	background: #eef1f5;
	border: 1px solid #d8dee8;
	color: #2d3a4e !important;
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none !important;
}

.slotimo-tags__link:hover {
	background: #e1e7ef;
}

/* ==========================================================================
   Sidebar
   ========================================================================== */

.slotimo-widget {
	background: transparent;
	border-radius: 0;
	padding: 0 !important;
	margin-bottom: 1.25rem;
}

.slotimo-widget__title {
	font-family: 'Inter', sans-serif;
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--slotimo-dark);
	background: transparent;
	display: block;
	padding: 0 0 0.45rem;
	margin: 0 0 0.8rem;
	border-bottom: 2px solid var(--slotimo-primary);
	border-radius: 0;
}

.slotimo-widget-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.slotimo-widget-stream {
	margin: 0;
	padding: 0;
}

.slotimo-widget-list li {
	margin-bottom: 0.7rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--slotimo-border);
}

.slotimo-widget-list li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.slotimo-widget-list a {
	display: block;
	font-size: 0.9375rem;
}

.slotimo-widget-post {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
}

.slotimo-widget-stream .slotimo-widget-post {
	margin-bottom: 0.7rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--slotimo-border);
}

.slotimo-widget-stream .slotimo-widget-post:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.slotimo-widget-post__thumb {
	flex-shrink: 0;
	width: 124px;
	height: 76px;
	display: block;
	border-radius: 2px;
	overflow: hidden;
}

.slotimo-widget-post__thumb picture {
	display: block;
	width: 100%;
	height: 100%;
}

.slotimo-widget-post__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.slotimo-widget-post__body {
	min-width: 0;
}

.slotimo-widget-post__title {
	display: block;
	font-size: 0.94rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 0.25rem;
}

.slotimo-widget-post__title a {
	color: #1c2436 !important;
}

.slotimo-widget-post__title a:hover {
	color: #1c2436 !important;
	opacity: 0.9;
}

.slotimo-widget-post__meta {
	color: #6f7887;
	font-size: 0.86rem;
}

.slotimo-widget-post__author {
	font-weight: 700;
	color: #1c2436;
}

.slotimo-widget-list--cats li {
	border: none;
	padding: 0;
	margin: 0 0 0.25rem;
}

/* Astra widget fallback */
#secondary .widget {
	background: transparent;
	border-radius: 0;
	padding: 0 !important;
	margin-bottom: 1.25rem;
}

#secondary .widget-title,
#secondary .widget h2 {
	font-family: 'Inter', sans-serif;
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--slotimo-dark);
	background: transparent;
	display: block;
	padding: 0 0 0.45rem;
	margin: 0 0 0.8rem;
	border-bottom: 2px solid var(--slotimo-primary);
	border-radius: 0;
}

#secondary .widget > ul,
#secondary .widget > div,
#secondary .widget > .menu {
	padding-top: 0;
}

/* ==========================================================================
   Top bar: logo + main site links (dark, Winpot-style)
   ========================================================================== */

.slotimo-top-bar {
	background-color: #101a2d;
	padding: 1.25rem 0;
}

.slotimo-top-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.slotimo-top-bar__logo {
	display: flex;
	align-items: center;
	height: 48px;
}

.slotimo-top-bar__logo img {
	height: 100%;
	width: auto;
}

.slotimo-top-bar__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1.75rem;
	align-items: center;
}

.slotimo-top-bar__link {
	color: #fff !important;
	font-size: 1.0625rem;
	font-weight: 500;
	opacity: 0.9;
}

.slotimo-top-bar__link--mobile-cat {
	display: none;
}

.slotimo-top-bar__link:hover {
	color: #fff !important;
	opacity: 1;
}

.slotimo-top-bar__cta {
	background-color: var(--slotimo-primary) !important;
	color: #fff !important;
	padding: 0.5rem 1.25rem;
	border-radius: 6px;
	font-weight: 600;
	font-size: 1rem;
}

.slotimo-top-bar__cta:hover {
	background-color: var(--slotimo-primary-dark) !important;
	color: #fff !important;
}

.slotimo-top-bar__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.slotimo-top-bar__langs {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	position: relative;
}

/* Desktop: hide the mobile toggle; show language pills inline */
.slotimo-top-bar__lang-toggle {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
}

.slotimo-top-bar__lang-menu {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.slotimo-top-bar__lang-menu li {
	display: inline-flex;
}

/* Caret (▾) for the mobile toggle */
.slotimo-top-bar__lang-caret {
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid #fff;
	transition: transform 0.2s ease;
	flex-shrink: 0;
}

.slotimo-top-bar__lang-code {
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
	line-height: 1;
}

.slotimo-top-bar__link--lang {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.9rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.5rem 0.7rem;
	border: 1px solid rgba(255,255,255,0.32);
	border-radius: 6px;
	opacity: 1;
}

.slotimo-top-bar__link--lang-active {
	border-color: #9fdb45;
}

.slotimo-top-bar__lang-flag {
	display: block;
	width: 24px;
	height: 16px;
	border-radius: 2px;
	object-fit: cover;
	flex-shrink: 0;
}

.slotimo-top-bar__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: rgba(255,255,255,0.14);
	cursor: pointer;
	position: relative;
}

.slotimo-top-bar__toggle::before {
	content: '';
	width: 18px;
	height: 2px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 -6px 0 #fff, 0 6px 0 #fff;
	display: block;
}

@media (max-width: 782px) {
	.slotimo-top-bar {
		padding: 1rem 0;
		position: relative;
		z-index: 20;
	}
	/* Reduce horizontal padding so items fit in one row on narrow screens */
	.slotimo-top-bar__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		flex-wrap: nowrap;
		gap: 0.5rem;
		padding: 0 0.75rem;
	}
	/* Allow logo to shrink if viewport is extremely narrow */
	.slotimo-top-bar__logo {
		justify-content: flex-start;
		height: 40px;
		min-width: 0;
		flex-shrink: 1;
	}
	.slotimo-top-bar__logo img {
		max-width: 100%;
		height: 100%;
		width: auto;
	}
	.slotimo-top-bar__nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #101a2d;
		padding: 0.9rem 1.2rem 1.2rem;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
		box-shadow: 0 10px 24px rgba(0,0,0,0.25);
	}
	.slotimo-top-bar--menu-open .slotimo-top-bar__nav {
		display: flex;
	}
	.slotimo-top-bar__link {
		width: 100%;
		font-size: 1.1rem;
		font-weight: 600;
		opacity: 1;
	}
	.slotimo-top-bar__link--mobile-cat {
		display: block;
		font-weight: 700;
		color: #9fdb45 !important;
	}
	.slotimo-top-bar__cta {
		text-align: center;
		padding: 0.45rem 0.9rem;
		font-size: 0.95rem;
		white-space: nowrap;
		flex-shrink: 0;
	}
	/* Mobile: hide inline pills, show single-flag toggle */
	.slotimo-top-bar__lang-toggle {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		padding: 0.3rem 0.5rem;
		border: 1px solid rgba(255,255,255,0.32);
		border-radius: 6px;
		background: transparent;
		cursor: pointer;
		white-space: nowrap;
		min-height: 44px;
		box-sizing: border-box;
		flex-shrink: 0;
	}
	.slotimo-top-bar__lang-menu {
		display: none;
		position: absolute;
		top: calc(100% + 6px);
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0.3rem;
		background: #101a2d;
		border: 1px solid rgba(255,255,255,0.18);
		border-radius: 8px;
		padding: 0.5rem;
		box-shadow: 0 10px 24px rgba(0,0,0,0.35);
		z-index: 30;
		min-width: 120px;
	}
	.slotimo-top-bar__langs.is-open .slotimo-top-bar__lang-menu {
		display: flex;
	}
	.slotimo-top-bar__langs.is-open .slotimo-top-bar__lang-caret {
		transform: rotate(180deg);
	}
	.slotimo-top-bar__lang-menu li {
		display: flex;
	}
	.slotimo-top-bar__lang-menu .slotimo-top-bar__link--lang {
		width: 100%;
		font-size: 0.85rem;
		padding: 0.4rem 0.5rem;
	}
	.slotimo-top-bar__toggle {
		display: inline-flex;
		flex-shrink: 0;
	}
	.slotimo-second-bar {
		display: none;
	}
}

/* Narrow tier: 360–480px — compact header to guarantee single row */
@media (max-width: 480px) {
	.slotimo-top-bar__inner {
		gap: 0.4rem;
		padding: 0 0.75rem;
	}
	/* Compact logo */
	.slotimo-top-bar__logo {
		height: 32px;
	}
	/* Compact CTA button */
	.slotimo-top-bar__cta {
		padding: 0.4rem 0.7rem;
		font-size: 0.85rem;
	}
	/* Compact language toggle — hide text code, keep flag + caret */
	.slotimo-top-bar__lang-toggle {
		padding: 0.25rem 0.4rem;
		gap: 0.3rem;
	}
	.slotimo-top-bar__lang-code {
		display: none;
	}
	/* Compact burger */
	.slotimo-top-bar__toggle {
		width: 38px;
		height: 38px;
	}
}

@media (max-width: 900px) {
	.slotimo-priority-pair {
		grid-template-columns: 1fr;
	}
	.slotimo-section-pair {
		grid-template-columns: 1fr;
	}
	.slotimo-hero__grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-template-areas:
			'lead'
			'top'
			'bottom-left'
			'bottom-right';
	}
	.slotimo-hero__grid > .slotimo-card:nth-child(1),
	.slotimo-hero__grid > .slotimo-card:nth-child(2),
	.slotimo-hero__grid > .slotimo-card:nth-child(3),
	.slotimo-hero__grid > .slotimo-card:nth-child(4) {
		min-height: 230px;
	}
	.slotimo-hero__grid > .slotimo-card:nth-child(1) .slotimo-card__title,
	.slotimo-hero__grid > .slotimo-card:nth-child(2) .slotimo-card__title {
		font-size: 1.55rem;
	}
	.slotimo-hero__grid > .slotimo-card:nth-child(3) .slotimo-card__title,
	.slotimo-hero__grid > .slotimo-card:nth-child(4) .slotimo-card__title {
		font-size: 1.15rem;
	}
	.slotimo-priority-card {
		grid-template-columns: 1fr;
	}
	.slotimo-priority-card__title {
		font-size: 1.55rem;
	}
	.slotimo-compact-card__title {
		font-size: 1.1rem;
	}
}

/* 404 search form: keep submit button fully visible */
.error404 .search-form,
.error404 .searchform {
	display: flex;
	align-items: stretch;
	gap: 0;
	width: 100%;
	max-width: 480px;
	overflow: hidden;
	border: 1px solid #d1d5db;
	border-radius: 6px;
}

.error404 .search-form label,
.error404 .searchform label {
	flex: 1 1 auto;
	min-width: 0;
}

.error404 .search-form .search-field,
.error404 .searchform .search-field {
	width: 100%;
	min-width: 0;
	height: 52px;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 1rem;
}

.error404 .search-form .search-submit,
.error404 .searchform .searchsubmit {
	position: static !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 110px;
	height: 52px !important;
	margin: 0 !important;
	border: 0 !important;
	border-left: 1px solid #d1d5db !important;
	border-radius: 0 !important;
	line-height: 1.2;
	font-size: 1rem !important;
	text-indent: 0 !important;
	letter-spacing: normal;
	overflow: visible;
	white-space: nowrap;
	padding-left: 1rem;
	padding-right: 1rem;
}

/* Second bar: blog categories — light background (donor-style) */
.slotimo-second-bar {
	background-color: #ffffff;
	border-bottom: 1px solid var(--slotimo-border);
	padding: 0.85rem 0;
}

.slotimo-second-bar__inner {
	display: block !important;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.slotimo-second-bar__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.slotimo-second-bar__link {
	font-family: 'Inter', sans-serif;
	color: var(--slotimo-text) !important;
	font-size: 0.9375rem;
	font-weight: 500;
	padding: 0.5rem 1rem;
	border-radius: 6px;
	transition: background-color 0.2s, color 0.2s;
}

.slotimo-second-bar__link:hover {
	background-color: #eceef1;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.slotimo-second-bar__link--active {
	background-color: #e5e7eb;
	color: var(--slotimo-text) !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.slotimo-second-bar__link--active:hover {
	background-color: #e0e2e6;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

/* --- Second-bar dropdown (depth-1 sub-items) ------------------------------- */

.slotimo-second-bar__dropdown {
	position: relative;
}

.slotimo-second-bar__dropdown-panel {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	z-index: 200;
	min-width: 200px;
	background: #fff;
	border: 1px solid var(--slotimo-border);
	border-radius: 8px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.10);
	padding: 0.4rem 0;
	flex-direction: column;
}

.slotimo-second-bar__dropdown:hover .slotimo-second-bar__dropdown-panel {
	display: flex;
}

.slotimo-second-bar__dropdown-link {
	display: block;
	padding: 0.5rem 1.1rem;
	font-family: 'Inter', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--slotimo-text) !important;
	white-space: nowrap;
	transition: background-color 0.15s;
}

.slotimo-second-bar__dropdown-link:hover {
	background-color: #eceef1;
	color: var(--slotimo-text) !important;
}

.slotimo-second-bar__dropdown-link--active {
	font-weight: 600;
	color: var(--slotimo-primary) !important;
}

/* Third-level menu items: indent + left vertical bar */
.slotimo-second-bar__dropdown-link--l3 {
	padding-left: 1.9rem;
	font-size: 0.875rem;
	font-weight: 400;
	position: relative;
}

.slotimo-second-bar__dropdown-link--l3::before {
	content: '';
	position: absolute;
	left: 1.1rem;
	top: 0.3rem;
	bottom: 0.3rem;
	width: 2px;
	border-radius: 1px;
	background-color: #c8cbd0;
}

/* --------------------------------------------------------------------------- */

@media (max-width: 782px) {
	.slotimo-second-bar__nav {
		justify-content: center;
	}
}

/* ==========================================================================
   Header & Footer (Astra overrides)
   ========================================================================== */

/* Hide Astra default header (third menu) — we use custom top + second bar */
#masthead,
.site-header,
.ast-header-wrap {
	display: none !important;
}

.site-title a,
.site-title {
	color: var(--slotimo-dark) !important;
}

.ast-desktop .ast-builder-menu a {
	color: var(--slotimo-text) !important;
}

.ast-desktop .ast-builder-menu a:hover {
	color: var(--slotimo-primary) !important;
}

.ast-button,
.wp-block-button__link,
.button,
input[type="submit"] {
	background-color: var(--slotimo-primary) !important;
	color: #fff !important;
	border-color: var(--slotimo-primary) !important;
}

.ast-button:hover,
.wp-block-button__link:hover,
.button:hover,
input[type="submit"]:hover {
	background-color: var(--slotimo-primary-dark) !important;
	border-color: var(--slotimo-primary-dark) !important;
	color: #fff !important;
}

/* Hide Astra default footer */
.ast-footer-overlay,
.site-footer:not(.slotimo-footer) {
	display: none !important;
}

/* ==========================================================================
   Footer — Winpot-style (dark)
   ========================================================================== */

.slotimo-footer {
	position: relative;
	background-color: #101a2d;
	color: #e5e7eb;
	margin-top: 3rem;
	width: 100%;
	padding: 0;
}

/* Full-width background fill (same color) on left/right when footer is inside constrained container */
.slotimo-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 100%;
	background-color: #101a2d;
	z-index: -1;
}

.slotimo-footer a {
	color: #fff !important;
	opacity: 0.9;
}

.slotimo-footer a:hover {
	color: #fff !important;
	opacity: 1;
}

.slotimo-footer__upper {
	padding: 2rem 0;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.slotimo-footer__cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.slotimo-footer__cols--3 {
	grid-template-columns: repeat(3, 1fr);
}

.slotimo-footer__title {
	font-size: 1.25rem;
	color: #fff;
	margin: 0 0 1rem;
	font-weight: 600;
}

.slotimo-footer-posts {
	list-style: none;
	margin: 0;
	padding: 0;
}

.slotimo-footer-post {
	display: flex;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.slotimo-footer-post__thumb {
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	display: block;
	border-radius: 4px;
	overflow: hidden;
}

.slotimo-footer-post__thumb picture {
	display: block;
	width: 100%;
	height: 100%;
}

.slotimo-footer-post__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slotimo-footer-post__body {
	min-width: 0;
}

.slotimo-footer-post__title {
	display: block;
	font-size: 1.0625rem;
	line-height: 1.3;
	margin: 0 0 0.25rem;
}

.slotimo-footer-post__title a {
	color: #fff !important;
}

.slotimo-footer-post__title a:hover {
	color: #fff !important;
	opacity: 1;
}

.slotimo-footer-post__meta {
	font-size: 0.9375rem;
	opacity: 0.8;
}

.slotimo-footer-cats {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 1.0625rem;
}

.slotimo-footer-cats li {
	margin-bottom: 0.5rem;
}

.slotimo-footer__lower {
	padding: 2rem 0;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	border-top: 1px solid rgba(255,255,255,0.1);
}

.slotimo-footer__about .slotimo-footer__logo {
	display: block;
	margin-bottom: 1rem;
}

.slotimo-footer__about .slotimo-footer__logo img {
	height: 36px;
	width: auto;
}

.slotimo-footer__about-text,
.slotimo-footer-about p {
	font-size: 1.0625rem;
	line-height: 1.55;
	opacity: 0.9;
}

/* Keep text in About widget, hide external badge image from widget content */
.slotimo-footer-about img {
	display: none !important;
}

.slotimo-footer__licenses {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}

.slotimo-footer__badge-img {
	display: block;
	height: auto;
	max-height: 40px;
	width: auto;
	opacity: 0.95;
	object-fit: contain;
}


@media (max-width: 782px) {
	.slotimo-footer__licenses {
		flex-direction: column;
		align-items: flex-start;
	}
}

.slotimo-footer__badge {
	display: inline-block;
	background: #333;
	color: #fff;
	padding: 0.5rem 1rem;
	border-radius: 4px;
	font-weight: 600;
	font-size: 1.125rem;
}

.slotimo-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.slotimo-footer__social a {
	font-size: 1.0625rem;
}

.slotimo-footer__bottom {
	padding: 1rem 0;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	border-top: 1px solid rgba(255,255,255,0.1);
}

.slotimo-footer__bottom-inner {
	display: block;
}

.slotimo-footer__copy {
	font-size: 0.75rem;
	line-height: 1.45;
	opacity: 0.85;
	margin: 0 0 0.5rem;
	max-width: 100%;
}

.slotimo-footer__copy-note {
	font-size: 0.6875rem;
	opacity: 0.75;
	margin: 0 0 1rem;
}

.slotimo-footer__legal {
	display: flex;
	gap: 1.5rem;
	margin-top: 0.5rem;
}

.slotimo-footer__legal a {
	font-size: 1rem;
}

@media (max-width: 782px) {
	.slotimo-footer__cols,
	.slotimo-footer__cols--3 {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Inline banner (after archive grid / after article, inside <aside>)
   Desktop: hidden — shown in the sidebar column via sidebar.php
   Mobile: shown inline in <main> before footer
   ========================================================================== */

.slotimo-inline-banner {
	margin-top: 2rem;
	text-align: center;
}

.slotimo-inline-banner a {
	display: inline-block;
	line-height: 0;
	border-radius: 10px;
	overflow: hidden;
	max-width: 340px;
	width: 100%;
}

.slotimo-inline-banner img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

/* Desktop: hide inline banner (sidebar shows it instead) */
@media (min-width: 783px) {
	.slotimo-inline-banner {
		display: none;
	}
}

/* Mobile-only Public Bets teaser inside <main> on sport category archives.
   The sidebar (which carries the desktop teaser) is hidden <=782px, so this
   inline copy fills the gap; desktop hides it and uses the sidebar version. */
.slotimo-inline-trends {
	margin-top: 1.5rem;
}
@media (min-width: 783px) {
	.slotimo-inline-trends {
		display: none;
	}
}

/* Sidebar banner — desktop only, inside <aside id="secondary"> */
.slotimo-sidebar-banner {
	margin-top: 1.25rem;
	line-height: 0;
}

.slotimo-sidebar-banner figure {
	margin: 0;
	padding: 0;
	line-height: 0;
}

.slotimo-sidebar-banner a {
	display: block;
	border-radius: 8px;
	overflow: hidden;
}

.slotimo-sidebar-banner picture {
	display: block;
	line-height: 0;
}

.slotimo-sidebar-banner img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.slotimo-inline-banner figure {
	margin: 0;
	padding: 0;
	line-height: 0;
}

.slotimo-inline-banner picture {
	display: block;
	line-height: 0;
}

/* ==========================================================================
   Utilities
   ========================================================================== */

.entry-title,
.entry-header,
.cat-links,
.entry-meta {
	word-break: normal !important;
	overflow-wrap: normal !important;
}

/* Prevent long words/URLs in article body from causing horizontal overflow */
.entry-content {
	overflow-wrap: break-word;
	word-break: break-word;
	min-width: 0;
	max-width: 100%;
}

/* ── Content tables: unified visual style (excludes odds/betting widgets) ── */
/* Selectors exclude .dow-table (odds widget) and .sbt-table (betting trends)  */
.entry-content table:not(.dow-table):not(.sbt-table),
.slotimo-article__content table:not(.dow-table):not(.sbt-table),
.entry-content .wp-block-table table:not(.dow-table):not(.sbt-table),
.slotimo-article__content .wp-block-table table:not(.dow-table):not(.sbt-table) {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Open Sans', 'Inter', system-ui, -apple-system, sans-serif;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--slotimo-text);
	background: #fff;
	border: 1px solid var(--slotimo-border);
	border-radius: 6px;
	overflow: hidden;
}

.entry-content table:not(.dow-table):not(.sbt-table) thead th,
.slotimo-article__content table:not(.dow-table):not(.sbt-table) thead th,
.entry-content .wp-block-table table:not(.dow-table):not(.sbt-table) thead th,
.slotimo-article__content .wp-block-table table:not(.dow-table):not(.sbt-table) thead th {
	background: var(--slotimo-bg-content);
	color: var(--slotimo-text);
	font-weight: 700;
	text-align: left;
	padding: 10px 16px;
	border-bottom: 2px solid var(--slotimo-border);
	white-space: nowrap;
}

.entry-content table:not(.dow-table):not(.sbt-table) td,
.slotimo-article__content table:not(.dow-table):not(.sbt-table) td,
.entry-content .wp-block-table table:not(.dow-table):not(.sbt-table) td,
.slotimo-article__content .wp-block-table table:not(.dow-table):not(.sbt-table) td {
	padding: 8px 16px;
	border-bottom: 1px solid var(--slotimo-border);
	vertical-align: top;
}

.entry-content table:not(.dow-table):not(.sbt-table) tr:last-child td,
.slotimo-article__content table:not(.dow-table):not(.sbt-table) tr:last-child td,
.entry-content .wp-block-table table:not(.dow-table):not(.sbt-table) tr:last-child td,
.slotimo-article__content .wp-block-table table:not(.dow-table):not(.sbt-table) tr:last-child td {
	border-bottom: none;
}

/* Zebra rows */
.entry-content table:not(.dow-table):not(.sbt-table) tbody tr:nth-child(even),
.slotimo-article__content table:not(.dow-table):not(.sbt-table) tbody tr:nth-child(even),
.entry-content .wp-block-table table:not(.dow-table):not(.sbt-table) tbody tr:nth-child(even),
.slotimo-article__content .wp-block-table table:not(.dow-table):not(.sbt-table) tbody tr:nth-child(even) {
	background: var(--slotimo-bg-subtle);
}

/* Scroll container = the .wp-block-table wrapper (figure), NOT the <table> itself.
   Putting display:block on a <table> collapses its internal column layout: the
   block stretches to 100% (with the border/radius) while the actual grid shrinks
   to its content, leaving an empty bordered area on the right. Keeping the table
   as display:table lets it fill the frame and adapt columns to ANY column count;
   the figure wrapper handles horizontal scroll when the table is genuinely wide. */
.entry-content .wp-block-table,
.slotimo-article__content .wp-block-table {
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
}

/* Mobile (<=600px): cells stay on one line so the table triggers overflow-x scroll
   instead of collapsing columns letter-by-letter. */
@media (max-width: 600px) {
	.entry-content table:not(.dow-table):not(.sbt-table) td,
	.entry-content table:not(.dow-table):not(.sbt-table) th,
	.slotimo-article__content table:not(.dow-table):not(.sbt-table) td,
	.slotimo-article__content table:not(.dow-table):not(.sbt-table) th,
	.entry-content .wp-block-table table:not(.dow-table):not(.sbt-table) td,
	.entry-content .wp-block-table table:not(.dow-table):not(.sbt-table) th,
	.slotimo-article__content .wp-block-table table:not(.dow-table):not(.sbt-table) td,
	.slotimo-article__content .wp-block-table table:not(.dow-table):not(.sbt-table) th {
		white-space: nowrap;
	}
}

.entry-content pre,
.slotimo-article__content pre {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	white-space: pre;
	max-width: 100%;
}

.entry-content img,
.entry-content iframe,
.entry-content video,
.entry-content embed,
.slotimo-article__content img,
.slotimo-article__content iframe,
.slotimo-article__content video {
	max-width: 100% !important;
	height: auto;
}

/* Gutenberg wide/full-align blocks must not overflow on mobile */
@media (max-width: 782px) {
	.entry-content .alignwide,
	.entry-content .alignfull,
	.entry-content .wp-block-group.alignwide,
	.entry-content .wp-block-group.alignfull,
	.slotimo-article__content .alignwide,
	.slotimo-article__content .alignfull {
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

.post-navigation {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 1.25rem;
	row-gap: 0.85rem;
	align-items: start;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--slotimo-border);
}

.post-navigation__prev,
.post-navigation__next {
	min-width: 0;
	width: 100%;
	display: block;
	line-height: 1.35;
	white-space: normal;
	overflow-wrap: anywhere;
}

.post-navigation__next {
	text-align: right;
}

.post-navigation a {
	font-size: 0.9375rem;
	color: var(--slotimo-primary) !important;
}

.post-navigation a:hover {
	color: var(--slotimo-primary-dark) !important;
}

@media (max-width: 782px) {
	.post-navigation {
		grid-template-columns: 1fr;
	}

	.post-navigation__prev {
		grid-column: 1;
		grid-row: 1;
		text-align: left;
	}

	.post-navigation__next {
		grid-column: 1;
		grid-row: 2;
		text-align: right;
	}
}

/* ── Homepage Betting Tools section ───────────────────────── */
.slotimo-tools-section {
	margin-bottom: 2.5rem;
}

.slotimo-tools-section__title {
	font-family: 'Inter', sans-serif;
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--slotimo-dark);
	border-bottom: 2px solid var(--slotimo-primary);
	padding-bottom: 0.5rem;
	margin-bottom: 1rem;
}

.slotimo-tools-block {
	background: #f4f8ff;
	border: 1px solid #d0e0f7;
	border-radius: 10px;
	padding: 16px 18px 14px;
}

.slotimo-tools-block__header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.slotimo-tools-block__sport {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: oklch(45% 0.18 252);
	background: oklch(93% 0.05 252);
	border-radius: 4px;
	padding: 2px 8px;
}

.slotimo-tools-block__label {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--slotimo-dark);
}

.slotimo-tools-picks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 12px;
}

.slotimo-pick-mini {
	background: #fff;
	border: 1px solid #e2eaf5;
	border-radius: 8px;
	padding: 10px 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.slotimo-pick-mini__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.slotimo-pick-mini__side {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	border-radius: 3px;
	padding: 1px 6px;
}

.slotimo-pick-mini__side--over  { background: #e6f9ee; color: #1a7a3f; }
.slotimo-pick-mini__side--under { background: #fff0e6; color: #a84800; }

.slotimo-pick-mini__edge {
	font-size: 0.75rem;
	font-weight: 700;
	color: oklch(40% 0.18 252);
}

.slotimo-pick-mini__player {
	font-size: 0.87rem;
	font-weight: 700;
	color: var(--slotimo-dark);
	line-height: 1.2;
	margin-top: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.slotimo-pick-mini__meta {
	font-size: 0.73rem;
	color: #666;
	line-height: 1.3;
}

.slotimo-pick-mini__l5 {
	font-size: 0.7rem;
	color: #999;
	display: flex;
	align-items: center;
	gap: 3px;
	margin-top: 2px;
}

.slotimo-pick-mini__dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex-shrink: 0;
}

.slotimo-pick-mini__dot--hit  { background: #22a859; }
.slotimo-pick-mini__dot--miss { background: #ddd; }

.slotimo-tools-block__cta {
	display: inline-block;
	font-size: 0.87rem;
	font-weight: 600;
	color: oklch(45% 0.18 252);
	text-decoration: none;
}

.slotimo-tools-block__cta:hover { text-decoration: underline; }

@media (max-width: 782px) {
	.slotimo-tools-section__title { font-size: 1.45rem; }
	.slotimo-tools-picks { grid-template-columns: 1fr 1fr; }
}

/* ──────────────────────────────────────────────────────────────────────────
   Fix: single-post / archive templates output their own #content.site-content
   + .ast-container, duplicating the wrapper Astra already opens via get_header().
   The outer .ast-container is flex column-wrap, so the nested duplicate block
   sizes to max-content (~1242px) on mobile and distends the page (right side
   clipped, masked by body{overflow-x:hidden}). Constrain the inner duplicate
   to the viewport. CSS guard until the templates are de-duplicated (TODO:
   remove the manual #content/.ast-container from single.php/archive.php/etc.).
   ────────────────────────────────────────────────────────────────────────── */
@media (max-width: 782px) {
	#content > .ast-container > #content,
	#content > .ast-container > #content > .ast-container {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
	}
}
