/**
 * Glossary CPT styles — brand colors from energycool.fusiondev.pl.
 * !important ensures priority over Astra / Elementor global rules.
 */

/* Primary + sidebar share one flex row; margin-top on wrapper aligns both. */
.glossary-single-layout {
	display: flex !important;
	flex-wrap: wrap !important;
	width: 100% !important;
	align-items: flex-start !important;
}

.glossary-single-layout>#primary,
.glossary-single-layout>#secondary {
	margin-bottom: 0 !important;
}

.ast-separate-container .glossary-single-layout>#primary {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

@media (min-width: 922px) {
	.single-slownik-pojec .site-content>.ast-container {
		display: block !important;
	}

	.glossary-single-layout--right-sidebar>#primary {
		width: 70% !important;
		padding-right: 60px !important;
	}

	.glossary-single-layout--right-sidebar>#secondary {
		width: 30% !important;
		padding-left: 60px !important;
	}

	.glossary-single-layout--left-sidebar>#primary {
		width: 70% !important;
		padding-left: 60px !important;
	}

	.glossary-single-layout--left-sidebar>#secondary {
		width: 30% !important;
		padding-right: 60px !important;
	}
}

@media (max-width: 921px) {
	.glossary-single-layout {
		flex-direction: column !important;
		margin-top: 1.5em !important;
	}

	.glossary-single-layout>#primary,
	.glossary-single-layout>#secondary {
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

.glossary-single {
	margin-bottom: 2.5rem !important;
}

.glossary-single__header {
	margin-bottom: 2rem !important;
}

.glossary-category-badge {
	margin: 0 0 1rem !important;
}

.glossary-category-badge a {
	display: inline-block !important;
	padding: 0.35rem 0.9rem !important;
	background-color: #007402 !important;
	color: #fff !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	border-radius: 3px !important;
	transition: background-color 0.2s ease !important;
}

.glossary-category-badge a:hover,
.glossary-category-badge a:focus {
	background-color: #31ba33 !important;
	color: #fff !important;
}

.glossary-title {
	margin: 0 0 1rem !important;
	padding-bottom: 0.75rem !important;
	border-bottom: 2px solid #000 !important;
}

.glossary-tags {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.glossary-tags__item {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.glossary-tags__link {
	display: inline-block !important;
	padding: 0.3rem 0.75rem !important;
	background-color: #e8eef5 !important;
	color: #1a6b4a !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	border-radius: 999px !important;
	transition: background-color 0.2s ease, color 0.2s ease !important;
}

.glossary-tags__link:hover,
.glossary-tags__link:focus {
	background-color: #d8e4f0 !important;
	color: #007402 !important;
}

.glossary-content {
	margin-bottom: 2.5rem !important;
}

.glossary-similar {
	margin-top: 3rem !important;
	padding-top: 2rem !important;
	border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.glossary-similar__title {
	margin: 0 0 1.5rem !important;
	font-size: 1.5rem !important;
}

.glossary-similar__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 1.5rem !important;
}

.glossary-card {
	margin: 0 !important;
	background: #fff !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	border-radius: 4px !important;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08) !important;
	overflow: hidden !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	padding: 1rem !important;
}

.glossary-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

.glossary-card__link {
	display: block !important;
	color: inherit !important;
	text-decoration: none !important;
}

.glossary-card__image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 10 !important;
	object-fit: cover !important;
}

.glossary-card__body {
	padding: 1rem 1.1rem 1.2rem !important;
}

.glossary-card__title {
	text-align: center;
	font-size: 1.05rem !important;
	line-height: 1.35 !important;
}

.glossary-card__excerpt {
	margin: 0 !important;
	color: #54595f !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
}

.glossary-sidebar__main {
	margin-top: 10rem !important;
	padding: 0 !important;
}

.glossary-sidebar {
	margin: 0 !important;
	padding: 0 !important;
}

.glossary-sidebar-widget {
	margin-bottom: 0 !important;
	padding: 1.25rem !important;
	background-color: #f4f6f4 !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	border-radius: 4px !important;
}

.glossary-sidebar-widget__title {
	margin: 0 0 1rem !important;
	padding: 0 !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	color: #14261c !important;
}

.glossary-sidebar-widget__list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.glossary-sidebar-widget__item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.glossary-sidebar-widget__item+.glossary-sidebar-widget__item {
	margin-top: 0.65rem !important;
	padding-top: 0.65rem !important;
	border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.glossary-sidebar-widget__link {
	color: #007402 !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	line-height: 1.4 !important;
}

.glossary-sidebar-widget__link:hover,
.glossary-sidebar-widget__link:focus {
	color: #31ba33 !important;
	text-decoration: underline !important;
}

@media (max-width: 768px) {
	.glossary-similar__grid {
		grid-template-columns: 1fr !important;
	}
}

/* Archive listing — A-Z index + compact card grid */
.glossary-archive__header {
	margin-bottom: 2rem !important;
}

.glossary-archive__index {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
	margin: 0 0 2.5rem !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
}

.glossary-archive__index-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	padding: 0 !important;
	background: linear-gradient(135deg, #007402, #31ba33) !important;
	color: #fff !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	border: 1px solid rgba(0, 116, 2, 0.35) !important;
	border-radius: 4px !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
	transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease !important;
}

.glossary-archive__index-link:hover,
.glossary-archive__index-link:focus {
	color: #fff !important;
	filter: brightness(0.92) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12) !important;
}

.glossary-archive__index-link--disabled {
	background: #eceeee !important;
	color: #9aa0a0 !important;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	box-shadow: none !important;
	opacity: 0.85 !important;
	cursor: default !important;
	pointer-events: none !important;
	filter: none !important;
	transform: none !important;
}

.glossary-archive__section {
	margin-bottom: 2.5rem !important;
}

.glossary-archive__section:last-child {
	margin-bottom: 0 !important;
}

.glossary-archive__letter {
	margin: 0 0 1.25rem !important;
	padding-bottom: 0.5rem !important;
	font-size: 1.75rem !important;
	line-height: 1.2 !important;
	color: #14261c !important;
	border-bottom: 2px solid #007402 !important;
}

.glossary-archive__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 1.5rem !important;
}

.glossary-card--compact {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1.1rem 1rem !important;
	color: inherit !important;
	text-decoration: none !important;
	border-top: 3px solid #007402 !important;
}

.glossary-card--compact .glossary-card__title {
	margin: 0 !important;
	text-align: center !important;
	font-size: 1rem !important;
	line-height: 1.35 !important;
}

.glossary-archive__empty {
	margin: 0 !important;
	color: #54595f !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

@media (max-width: 768px) {
	.glossary-archive__grid {
		grid-template-columns: 1fr !important;
	}
}

/*
.glossary-single-layout.glossary-single-layout--right-sidebar .content-area.primary,
.glossary-single-layout.glossary-single-layout--right-sidebar .widget-area.secondary.glossary-sidebar .glossary-sidebar__main {
	margin-top: 10rem !important;
}
*/


.ast-separate-container #primary:has(.glossary-archive__header) {
	margin: 8em 0 !important;
}
