/**
 * PVGroup Blog — szata graficzna wpisów (v3.38.0)
 * Paleta: navy #1B2A4A, orange #F28C00, IBM Plex Sans (spójne ze sklepem).
 * Ładowany tylko na is_singular('post').
 */

/* --- Typografia treści --- */
.single-post .entry-content p {
	text-align: justify;
	hyphens: auto;
	-webkit-hyphens: auto;
	line-height: 1.75;
}

.single-post .entry-content h2 {
	border-left: 3px solid #F28C00;
	padding-left: 14px;
	margin-top: 2.2em;
	color: #1B2A4A;
}

.single-post .entry-content h3 {
	color: #1B2A4A;
	margin-top: 1.6em;
}

.single-post .entry-content ul,
.single-post .entry-content ol {
	line-height: 1.7;
}

/* --- Obrazy w treści --- */
.single-post .entry-content figure.npv-blog-figure {
	margin: 2em 0;
	text-align: center;
}

.single-post .entry-content figure.npv-blog-figure img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 2px 12px rgba(27, 42, 74, 0.12);
}

.single-post .entry-content figure.npv-blog-figure figcaption {
	margin-top: 10px;
	font-size: 0.85em;
	color: #5a6478;
}

/* --- Tabele parametrów --- */
.single-post .entry-content table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	margin: 1.6em 0;
	table-layout: fixed;
	word-break: break-word;
	font-size: 0.95em;
}

.single-post .entry-content table th {
	background: #1B2A4A;
	color: #fff;
	padding: 10px 12px;
	text-align: left;
}

.single-post .entry-content table td {
	padding: 9px 12px;
	border-bottom: 1px solid #e3e6ec;
}

.single-post .entry-content table tbody tr:nth-child(even) {
	background: #f6f7fa;
}

/* --- Powiązane artykuły --- */
.npv-blog-related {
	margin-top: 3em;
	padding-top: 1.5em;
	border-top: 2px solid #e3e6ec;
}

.npv-blog-related-title {
	border-left: 3px solid #F28C00;
	padding-left: 14px;
	color: #1B2A4A;
	font-size: 1.4em;
	margin-bottom: 1em;
}

.npv-blog-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

@media (max-width: 768px) {
	.npv-blog-related-grid {
		grid-template-columns: 1fr;
	}
}

.npv-blog-related-card {
	display: block;
	background: #fff;
	border: 1px solid #e3e6ec;
	border-radius: 6px;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.npv-blog-related-card:hover {
	box-shadow: 0 4px 16px rgba(27, 42, 74, 0.15);
	transform: translateY(-2px);
}

.npv-blog-related-thumb img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
}

.npv-blog-related-name {
	display: block;
	padding: 12px 14px 4px;
	color: #1B2A4A;
	font-weight: 600;
	line-height: 1.35;
}

.npv-blog-related-date {
	display: block;
	padding: 0 14px 14px;
	color: #8a92a6;
	font-size: 0.82em;
}

/* --- Spis treści (v3.39.0) --- */
.npv-toc {
	background: #f6f7fa;
	border: 1px solid #e3e6ec;
	border-left: 3px solid #F28C00;
	border-radius: 6px;
	padding: 18px 22px;
	margin: 1.8em 0;
}

.npv-toc-title {
	font-weight: 600;
	color: #1B2A4A;
	margin: 0 0 8px;
}

.npv-toc ol {
	margin: 0;
	padding-left: 20px;
	line-height: 1.8;
}

.npv-toc a {
	color: #1B2A4A;
	text-decoration: none;
}

.npv-toc a:hover {
	color: #F28C00;
}

/* --- v3.40.0: layout dwukolumnowy wpisu + panel boczny --- */

/* Szersza kolumna na single post (Astra container) */
.single-post .ast-container,
.single-post .site-content .ast-container {
	max-width: 1240px;
}

.npv-post-grid {
	display: block;
}

@media (min-width: 1025px) {
	.npv-post-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 44px;
		align-items: start;
	}
	.npv-post-aside {
		position: sticky;
		top: 96px;
	}
}

@media (max-width: 1024px) {
	.npv-post-aside {
		margin-top: 2.5em;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}
}

@media (max-width: 640px) {
	.npv-post-aside {
		grid-template-columns: 1fr;
	}
}

/* Breadcrumb + czas czytania */
.npv-post-topbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	font-size: 0.85em;
	color: #8a92a6;
	margin-bottom: 1.4em;
	padding-bottom: 0.9em;
	border-bottom: 1px solid #e3e6ec;
}

.npv-crumb a {
	color: #5a6478;
	text-decoration: none;
}

.npv-crumb a:hover {
	color: #F28C00;
}

.npv-read-time {
	white-space: nowrap;
	color: #8a92a6;
}

/* Boxy panelu bocznego */
.npv-aside-box {
	background: #fff;
	border: 1px solid #e3e6ec;
	border-radius: 6px;
	padding: 18px 20px;
	margin-bottom: 20px;
}

.npv-aside-title {
	font-weight: 600;
	color: #1B2A4A;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid #F28C00;
}

.npv-aside-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.npv-aside-list li {
	padding: 7px 0;
	border-bottom: 1px solid #f0f2f6;
	display: flex;
	justify-content: space-between;
	gap: 8px;
	line-height: 1.4;
}

.npv-aside-list li:last-child {
	border-bottom: none;
}

.npv-aside-list a {
	color: #1B2A4A;
	text-decoration: none;
	font-size: 0.92em;
}

.npv-aside-list a:hover {
	color: #F28C00;
}

.npv-aside-count {
	color: #8a92a6;
	font-size: 0.85em;
}

/* Produkty z artykułu */
.npv-aside-product {
	display: grid;
	grid-template-columns: 64px 1fr;
	grid-template-rows: auto auto;
	column-gap: 12px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #f0f2f6;
	text-decoration: none;
}

.npv-aside-product:last-child {
	border-bottom: none;
}

.npv-aside-product-img {
	grid-row: 1 / 3;
}

.npv-aside-product-img img {
	width: 64px;
	height: 64px;
	object-fit: contain;
	border-radius: 4px;
	border: 1px solid #f0f2f6;
	background: #fff;
}

.npv-aside-product-name {
	color: #1B2A4A;
	font-weight: 600;
	font-size: 0.88em;
	line-height: 1.3;
}

.npv-aside-product-price {
	color: #F28C00;
	font-weight: 600;
	font-size: 0.88em;
}

/* CTA B2B */
.npv-aside-cta {
	background: #1B2A4A;
	border-color: #1B2A4A;
	text-align: center;
}

.npv-aside-cta-heading {
	color: #fff;
	font-weight: 700;
	font-size: 1.05em;
	margin: 0 0 8px;
}

.npv-aside-cta-text {
	color: #c6cddd;
	font-size: 0.88em;
	line-height: 1.5;
	margin: 0 0 14px;
}

.npv-aside-cta-btn {
	display: inline-block;
	background: #F28C00;
	color: #fff !important;
	font-weight: 600;
	padding: 10px 22px;
	border-radius: 4px;
	text-decoration: none;
}

.npv-aside-cta-btn:hover {
	background: #d97d00;
}

.npv-aside-cta-phone {
	margin: 12px 0 0;
}

.npv-aside-cta-phone a {
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}

/* --- Szerokie tabele techniczne na telefonie (v3.76.0) --------------------
   Motyw stosuje table-layout:fixed, więc tabela nie rozjeżdża strony, tylko się
   zgniata: przy 6 kolumnach i ekranie 375 px zostaje ~32 px na kolumnę, a
   word-break łamie wtedy wyrazy na pojedyncze litery. Tabele o 4+ kolumnach
   pakujemy więc w kontener z własnym scrollem (dokłada go potok publikacyjny)
   i przyklejamy pierwszą kolumnę, żeby przy przewijaniu było widać, którego
   modelu dotyczy wiersz.
   Celowo NIE stosujemy display:block + white-space:nowrap na <table> — to
   anty-wzorzec projektu dla iOS Safari. Kontener ma własny scroll, więc
   html,body{overflow-x:hidden} z homepage.css go nie przycina.
   -------------------------------------------------------------------- */

.single-post .entry-content .npv-table-scroll {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	margin: 1.6em 0;
}

.single-post .entry-content .npv-table-scroll table {
	table-layout: auto;
	width: auto;
	min-width: 100%;
	margin: 0;
	word-break: normal;
	overflow-wrap: break-word;
}

.single-post .entry-content .npv-table-scroll th,
.single-post .entry-content .npv-table-scroll td {
	white-space: normal;
	min-width: 92px;
}

.single-post .entry-content .npv-table-scroll th:first-child,
.single-post .entry-content .npv-table-scroll td:first-child {
	position: sticky;
	left: 0;
	z-index: 1;
	min-width: 116px;
	box-shadow: 1px 0 0 #e3e6ec;
}

.single-post .entry-content .npv-table-scroll th:first-child {
	background: #1B2A4A;
}

.single-post .entry-content .npv-table-scroll td:first-child {
	background: #fff;
	font-weight: 600;
	color: #1B2A4A;
}

.single-post .entry-content .npv-table-scroll tbody tr:nth-child(even) td:first-child {
	background: #f6f7fa;
}

@media (max-width: 640px) {
	/* justowanie przy ciągach technicznych ("686,4 kWh") robi rzeki — do lewej */
	.single-post .entry-content p {
		text-align: left;
	}

	.single-post .entry-content table {
		font-size: 0.88em;
	}

	.single-post .entry-content table th,
	.single-post .entry-content table td {
		padding: 8px 9px;
		line-height: 1.35;
		vertical-align: top;
	}

	.single-post .entry-content figure.npv-blog-figure {
		margin: 1.6em 0;
	}

	.single-post .entry-content figure.npv-blog-figure figcaption {
		font-size: 0.8em;
		line-height: 1.45;
		text-align: left;
	}
}

/* v3.114.0 — label dostepnosci + link kategorii w panelu produktow + autolinki modeli na blogu */
.npv-aside-product-stock{grid-column:2;font-size:11.5px;font-weight:600;}
.npv-aside-product-stock.is-instock{color:#0e6027;}
.npv-aside-product-stock.is-backorder{color:#B86800;}
.npv-aside-catlink{display:block;margin-top:12px;padding-top:10px;border-top:1px solid #f0f2f6;color:#1B2A4A;font-weight:600;font-size:0.88em;text-decoration:none;}
.npv-aside-catlink:hover{color:#F28C00;}
.npv-post-main a.pvg-kb-prodlink{color:#F28C00;text-decoration:none;border-bottom:1px dotted #F28C00;font-weight:600;}
.npv-post-main a.pvg-kb-prodlink:hover{color:#1B2A4A;border-bottom-color:#1B2A4A;}
