/* Katalog sprzętu – styl zgodny z mptv.pl */
main.ks-katalog, #primary.ks-katalog { opacity: 1 !important; visibility: visible !important; transform: none !important; }
.ks-katalog { --ks-dark: #101c22; --ks-accent: #ffff00; --ks-grey: #f0f0f0; background: #fff; color: #000; }
.ks-wrap { max-width: 1200px; margin: 0 auto; padding: 40px 20px 80px; box-sizing: border-box; }
.ks-katalog h1 { font-family: league-spartan, sans-serif; color: var(--ks-dark); font-size: 2.4rem; line-height: 1.15; margin: 10px 0 20px; font-weight: 700; }
.ks-katalog h2 { font-family: league-spartan, sans-serif; color: var(--ks-dark); font-size: 1.6rem; margin: 0 0 20px; display: inline-block; border-bottom: 4px solid var(--ks-accent); padding-bottom: 6px; font-weight: 700; }
.ks-katalog h3 { font-family: league-spartan, sans-serif; font-size: 1.15rem; margin: 0 0 8px; line-height: 1.25; }
.ks-katalog h3 a { color: var(--ks-dark); text-decoration: none; }
.ks-lead { font-size: 1.1rem; line-height: 1.6; max-width: 800px; margin-bottom: 25px; }

.ks-cats { list-style: none; padding: 0; margin: 0 0 40px; display: flex; flex-wrap: wrap; gap: 8px; }
.ks-cats li { margin: 0; padding: 0; background: none; }
.ks-cats a { display: inline-block; padding: 6px 14px; background: var(--ks-grey); color: var(--ks-dark); text-decoration: none; font-weight: 500; }
.ks-cats a:hover { background: var(--ks-accent); }

.ks-group { margin-bottom: 50px; scroll-margin-top: 100px; }
.ks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.ks-card { background: var(--ks-grey); display: flex; flex-direction: column; }
.ks-card-img { display: flex; align-items: center; justify-content: center; background: #fff; aspect-ratio: 4 / 3; height: 240px; padding: 15px; box-sizing: border-box; }
.ks-card-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.ks-card-body { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.ks-card-body p { margin: 0 0 10px; font-size: 0.95rem; line-height: 1.5; }
.ks-price { font-weight: 700; color: var(--ks-dark); }
.ks-card .ks-price { margin-top: auto; }

.ks-btn { display: inline-block; align-self: flex-start; padding: 8px 18px; background: var(--ks-dark); color: #fff !important; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: background .2s, color .2s; }
.ks-btn:hover { background: var(--ks-accent); color: var(--ks-dark) !important; }

.ks-breadcrumbs { font-size: 0.9rem; margin-bottom: 15px; color: #555; }
.ks-breadcrumbs a { color: var(--ks-dark); font-weight: 600; text-decoration: none; }

.ks-product { display: grid; grid-template-columns: 2fr 3fr; gap: 40px; align-items: start; margin-bottom: 40px; }
.ks-product-img { background: #fff; border: 1px solid #eee; padding: 20px; display: flex; justify-content: center; }
.ks-product-img img { max-width: 100%; height: auto; object-fit: contain; }
.ks-single .ks-price { font-size: 1.3rem; background: var(--ks-accent); display: inline-block; padding: 6px 12px; margin: 0 0 12px; }
.ks-amount, .ks-contact { margin: 6px 0; font-size: 1rem; }
.ks-contact a { color: var(--ks-dark); font-weight: 600; }

.ks-content { max-width: 850px; line-height: 1.65; }
.ks-content img { max-width: 100%; height: auto; }
.ks-content ol, .ks-content ul { padding-left: 1.3em; }
.ks-content li { margin-bottom: 8px; }
.ks-back { margin-top: 40px; }

.ks-cta { margin-top: 30px; padding: 30px; background: var(--ks-dark); color: #fff; }
.ks-cta h2 { color: #fff; }
.ks-cta a { color: var(--ks-accent); font-weight: 600; }
.ks-note { font-size: 0.9rem; opacity: .8; margin: 0; }

@media (max-width: 768px) {
	.ks-wrap { padding: 25px 16px 60px; }
	.ks-katalog h1 { font-size: 1.8rem; }
	.ks-product { grid-template-columns: 1fr; gap: 20px; }
}
