/* TechNow – style podstron i strony głównej */

/* Logo w nagłówku */
.snss-brand__logo { max-height: 48px; width: auto; }

/* Spis maszyn na górze strefy */
.tn-spis { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; }
.tn-spis a { display: inline-block; padding: 8px 14px; border-radius: 999px; background: var(--snss-cream, #F5F1EA); color: var(--snss-primary, #1F4E79) !important; text-decoration: none; font-size: 14px; font-weight: 600; }
.tn-spis a:hover { background: var(--snss-accent, #E8A33D); color: #2B2B2B !important; }

/* Karta maszyny */
.tn-maszyna { background: #fff; border: 1px solid #ECE6DC; border-radius: 12px; padding: 28px; margin: 0 0 28px !important; gap: 32px !important; align-items: flex-start !important; scroll-margin-top: 100px; }
.tn-maszyna h2 { margin-top: 0 !important; scroll-margin-top: 100px; }
.tn-maszyna .tn-glowne { margin: 0 0 12px; }
.tn-maszyna .tn-glowne img { width: 100%; height: 340px; object-fit: contain; background: #fff; border-radius: 8px; }
.tn-miniatury { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.tn-miniatury > * { margin: 0 !important; }
.tn-miniatura img { width: 100%; height: 96px; object-fit: cover; border-radius: 6px; border: 1px solid #ECE6DC; }
.tn-maszyna .wp-block-video { margin: 16px 0; }
.tn-maszyna video, .tn-film video { width: 100%; max-height: 420px; background: #000; border-radius: 8px; }
.tn-maszyna .wp-block-button__link { border-radius: 8px; padding: 12px 24px; font-weight: 600; }

/* Galerie */
.tn-galeria img { border-radius: 8px; }
.tn-galeria.wp-block-gallery { gap: 12px !important; }

/* Kafle oferty */
.tn-kafel .tn-kafel-img img { width: 100%; height: 220px; object-fit: contain; background: #fff; border-radius: 8px; }
.tn-kafel h3 a { color: inherit; text-decoration: none; }
.tn-kafel .wp-block-button__link { border-radius: 8px; padding: 10px 22px; font-weight: 600; }

/* O nas */
.tn-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 40px; }
.tn-grid2 > * { margin: 0 !important; }
.tn-onas-img img { width: 100%; max-height: 420px; object-fit: cover; border-radius: 12px; }
.tn-film { margin: 0 !important; }
.tn-podpis { font-weight: 600; margin-top: 8px; }

/* Strona główna: obrazy w kartach oferty */
.elementor-element-5e417f9 img, .elementor-element-8b95fd0 img, .elementor-element-1b62129 img { background: #fff; }

@media (max-width: 767px) {
	.tn-maszyna { padding: 18px; }
	.tn-maszyna .tn-glowne img { height: 240px; }
	.tn-grid2 { grid-template-columns: 1fr; }
	.snss-brand__logo { max-height: 38px; }
}

/* Powiększanie zdjęć */
.tn-maszyna img, .tn-galeria img, .elementor-element-5848122 img, .tn-onas-img img { cursor: zoom-in; transition: opacity .15s; }
.tn-maszyna img:hover, .tn-galeria img:hover, .elementor-element-5848122 img:hover { opacity: .88; }
.tn-maszyna img:focus-visible, .tn-galeria img:focus-visible { outline: 3px solid var(--snss-accent, #E8A33D); outline-offset: 2px; }
.tn-lb { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; background: rgba(10, 18, 28, .92); padding: 56px 64px; box-sizing: border-box; }
.tn-lb.is-open { display: flex; }
.tn-lb__fig { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.tn-lb__fig img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; background: #fff; border-radius: 6px; cursor: default; }
.tn-lb__fig figcaption { color: #fff; font-size: 14px; text-align: center; font-family: var(--snss-body, sans-serif); }
.tn-lb__x, .tn-lb__nav { position: absolute; border: 0; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; border-radius: 50%; width: 48px; height: 48px; font-size: 32px; line-height: 1; display: flex; align-items: center; justify-content: center; }
.tn-lb__x:hover, .tn-lb__nav:hover { background: rgba(255,255,255,.25); }
.tn-lb__x { top: 14px; right: 14px; }
.tn-lb__prev { left: 12px; top: 50%; transform: translateY(-50%); }
.tn-lb__next { right: 12px; top: 50%; transform: translateY(-50%); }
.tn-lb--jedno .tn-lb__nav { display: none; }
@media (max-width: 767px) {
	.tn-lb { padding: 56px 8px; }
	.tn-lb__nav { width: 40px; height: 40px; font-size: 26px; background: rgba(0,0,0,.4); }
}
