/*
 * Úpravy 11/2026 — načítava sa po app.css a responsive.css.
 * Hlavička a menu, akcie (štítok, box, modálne okno).
 */

/* ---------- Hlavička: menu v jednom riadku od 1280 px, položky sa nezalamujú ---------- */
@media screen and (min-width: 1280px) {
	#header .main-menu-nav .row {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
	}
	#header .main-menu-nav .row > .column.medium-2 {
		flex: 0 0 auto;
		width: auto;
	}
	#header .main-menu-nav .row > .column.medium-10 {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}
	#header .menu-main-menu-container > ul {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: nowrap;
	}
	HEADER UL LI {
		display: block;
		max-width: none;
		margin-left: clamp(22px, 2.2vw, 42px);
		font-size: clamp(13px, 1vw, 15px);
		white-space: nowrap;
	}
	HEADER UL LI A {
		display: block;
		font-size: 1em;
		line-height: 1.2;
		letter-spacing: 0.05em;
		text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
	}
	.sticky2 HEADER UL LI A {
		text-shadow: none;
	}
}

/* ---------- Hlavička: hamburger aj pre 1025–1279 px (inak sa menu láme) ---------- */
@media screen and (min-width: 1025px) and (max-width: 1279px) {
	.hamburger {
		display: inline-block;
		margin-right: 0;
		margin-top: 15px;
		margin-bottom: 0;
		vertical-align: middle;
	}
	HEADER {
		padding: 0;
	}
	HEADER.sticky2 {
		padding: 0;
	}
	HEADER .logo {
		display: inline-block;
		padding: 10px 0;
	}
	HEADER .logo IMG,
	HEADER.sticky2 .logo IMG {
		height: 35px;
	}
	.menu-main-menu-container {
		position: fixed;
		left: 0;
		top: 55px;
		width: 100%;
		height: calc(100% - 55px);
		background: #171821;
		display: none;
		overflow-y: auto;
	}
	HEADER UL LI,
	HEADER.sticky2 UL LI {
		display: block;
		max-width: 100%;
		text-align: left;
		padding: 0 15px;
		margin: 20px 0 0;
	}
}

/* ---------- Štítok „Akcia" v čiernej hornej lište a v mobilnej hlavičke ---------- */
.top-header LI.nk-lista-akcia A,
.top-header LI.nk-lista-akcia A:hover {
	display: inline-block;
	line-height: 1;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 8px 14px;
	margin: 0 12px;
	background: #E41C26;
	border: 0 !important;
	border-radius: 6px;
	vertical-align: middle;
}
.top-header LI.nk-lista-akcia A:hover {
	background: #fff;
	color: #E41C26;
}
.nk-akcia-mobil,
.nk-tel-mobil {
	display: none;
}
@media screen and (max-width: 768px) {
	#header .main-menu-nav .container {
		position: relative;
	}
	.nk-tel-mobil {
		position: absolute;
		top: 12px;
		right: 76px;
		display: inline-block;
		padding: 7px 10px 7px 30px;
		font-family: 'Signika', sans-serif;
		font-size: 14px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: #fff !important;
		text-decoration: none !important;
		border: 1px solid rgba(255, 255, 255, 0.7);
		border-radius: 6px;
		background: url('../images/phone.svg') no-repeat 9px center / 14px 14px;
	}
	.nk-akcia-mobil {
		position: absolute;
		top: 12px;
		right: 168px;
		display: inline-block;
		margin: 0;
		padding: 7px 12px;
		font-family: 'Signika', sans-serif;
		font-size: 14px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: #fff !important;
		background: #E41C26;
		border-radius: 6px;
		vertical-align: middle;
		text-decoration: none !important;
	}
}

/* ---------- Štítok AKCIA pri produkte ---------- */
.product-image {
	position: relative;
}
.nk-stitok-akcia,
.nk-akcia-stitok {
	display: inline-block;
	font-family: 'Signika', sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: #E41C26;
	padding: 7px 11px;
	border-radius: 6px;
}
.product-image .nk-stitok-akcia {
	position: absolute;
	left: 10px;
	top: 10px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
}
.product-row.nk-akcia .product-box.type-2,
.product-row.nk-akcia .product-box.type-3 {
	color: #E41C26;
	font-weight: 600;
}

/* ---------- Akciový box v obsahu (materiály, aktuality) ---------- */
.nk-akcia-box {
	margin: 0 0 30px;
	padding: 22px 24px;
	background: #fff4f3;
	border: 2px solid #E41C26;
	border-radius: 15px;
}
.nk-akcia-box p,
ARTICLE.page-article .nk-akcia-box P {
	margin: 0 0 10px;
	padding: 0;
}
.nk-akcia-box br {
	display: none;
}
.nk-akcia-box .nk-akcia-cena {
	font-family: 'Signika', sans-serif;
	font-size: 24px;
	line-height: 1.3;
	color: #111;
}
.nk-akcia-box .nk-akcia-cena strong {
	color: #E41C26;
	white-space: nowrap;
}
.nk-akcia-box .nk-akcia-stitok {
	margin-right: 8px;
	vertical-align: 3px;
}
.nk-akcia-tlacidla {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0 0 !important;
}
.nk-akcia-tlacidla a,
.nk-modal-tel a {
	display: inline-block;
	font-family: 'Signika', sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	padding: 13px 20px;
	border-radius: 10px;
}
.nk-akcia-tlacidla .nk-akcia-tel,
.nk-modal-tel a {
	color: #fff !important;
	background: #E41C26;
}
.nk-akcia-tlacidla .nk-akcia-btn {
	color: #111 !important;
	background: #fff;
	border: 1px solid #111;
}
.nk-akcia-tlacidla a:hover,
.nk-modal-tel a:hover {
	color: #fff !important;
	background: #111;
}
.nk-akcia-skoncila {
	padding: 14px 18px;
	background: #f3f3f3;
	border-left: 4px solid #8D7A7A;
	border-radius: 6px;
}

/* ---------- Modálne okno s akciami ---------- */
.nk-modal-open,
.nk-modal-open BODY {
	overflow: hidden;
}
.nk-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(0, 0, 0, 0.6);
}
.nk-modal[hidden] {
	display: none;
}
.nk-modal-okno {
	position: relative;
	width: 100%;
	max-width: 760px;
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 28px;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
	text-align: left;
}
.nk-modal-zavriet {
	position: absolute;
	right: 10px;
	top: 8px;
	width: 44px;
	height: 44px;
	font-size: 34px;
	line-height: 1;
	color: #111;
	background: transparent;
	border: 0;
	cursor: pointer;
}
.nk-modal-stitok {
	display: inline-block;
	margin: 0 0 8px;
	font-family: 'Signika', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: #E41C26;
	padding: 6px 10px;
	border-radius: 6px;
}
.nk-modal-okno h2 {
	margin: 0 44px 18px 0;
	padding: 0;
	font-size: 30px;
	line-height: 1.15;
	text-align: left;
}
.nk-modal-akcie {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.nk-modal-akcia {
	display: flex;
	flex-direction: column;
	color: #111 !important;
	text-decoration: none !important;
	background: #f5f5f5;
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow 0.15s;
}
.nk-modal-akcia:hover {
	box-shadow: 0 0 0 2px #E41C26;
}
.nk-modal-akcia img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 750 / 494;
	object-fit: cover;
}
.nk-modal-akcia-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px 16px;
	font-size: 15px;
	line-height: 1.35;
}
.nk-modal-akcia-text strong {
	font-family: 'Signika', sans-serif;
	font-size: 20px;
}
.nk-modal-cena {
	font-family: 'Signika', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #E41C26;
}
.nk-modal-viac {
	margin-top: 6px;
	font-weight: 700;
	color: #E41C26;
	text-decoration: underline;
}
.nk-modal-doprava {
	margin: 16px 0 12px;
	font-size: 15px;
	color: #555;
}
.nk-modal-tel {
	margin: 0;
}
@media screen and (max-width: 600px) {
	.nk-modal-okno {
		padding: 20px 16px;
	}
	.nk-modal-okno h2 {
		font-size: 24px;
	}
	.nk-modal-akcie {
		grid-template-columns: 1fr;
	}
	.nk-modal-akcie {
		gap: 12px;
	}
	.nk-modal-akcia {
		border-left: 5px solid #E41C26;
	}
	.nk-modal-akcia img {
		display: none;
	}
	.nk-modal-akcia-text strong {
		font-size: 17px;
	}
	.nk-modal-cena {
		font-size: 19px;
	}
	.nk-modal-tel a {
		display: block;
		text-align: center;
	}
}

/* ---------- Kalkulačka odvozu: druh odpadu, obec a ceny kontajnerov v jednom bloku ---------- */
SECTION.calculator-2-section.nk-cennik {
	scroll-margin-top: 100px;
	padding: 26px 28px 30px;
	margin-bottom: 30px;
	background: #fff;
	border: 1px solid #e3dcdc;
	border-radius: 15px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}
.nk-cennik-hlavicka {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 14px 40px;
	padding-bottom: 20px;
	margin-bottom: 22px;
	border-bottom: 1px solid #ece6e6;
}
.nk-cennik-udaj SPAN {
	display: block;
	font-family: 'Signika', sans-serif;
	font-size: 15px;
	color: #8D7A7A;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.nk-cennik-udaj STRONG {
	display: block;
	font-family: 'Signika', sans-serif;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 600;
	color: #111;
}
.nk-cennik-zmenit {
	margin-left: auto;
	font-family: 'Signika', sans-serif;
	font-size: 16px;
	color: #E41C26 !important;
	text-decoration: underline !important;
}
SECTION.calculator-2-section H2.nk-cennik-nadpis {
	font-size: 22px;
	line-height: 1.2;
	font-weight: 600;
	color: #111;
	text-align: left;
	padding: 0;
	margin: 0 0 14px;
	background: none;
	border-radius: 0;
}
.nk-cennik-karty {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}
.nk-cennik-karty.nk-pocet-1 {
	grid-template-columns: minmax(220px, 380px);
}
.nk-cennik-karta {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 22px 18px 20px;
	background: #f7f3f3;
	border-radius: 12px;
}
.nk-cennik-objem {
	font-family: 'Signika', sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #111;
}
.nk-cennik-cena {
	margin-top: 8px;
	font-family: 'Signika', sans-serif;
	font-size: 40px;
	line-height: 1.05;
	font-weight: 700;
	color: #E41C26;
}
.nk-cennik-stara {
	margin-top: 6px;
	font-size: 17px;
	color: #827676;
	text-decoration: line-through;
}
.nk-cennik-dph {
	margin-top: 6px;
	font-family: 'Signika', sans-serif;
	font-size: 16px;
	color: #555;
}
.nk-cennik-btn {
	display: block;
	width: 100%;
	margin-top: 16px;
	padding: 15px 20px;
	font-family: 'Signika', sans-serif;
	font-size: 16px;
	line-height: 1.2;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	text-align: center;
	color: #fff !important;
	text-decoration: none !important;
	background: #FF0000;
	border-radius: 5px;
}
.nk-cennik-btn:hover {
	color: #fff !important;
	background: #111;
}
.nk-cennik-ziadna {
	font-size: 18px;
	color: #333;
}
SECTION.calculator-3-section {
	scroll-margin-top: 90px;
}
@media screen and (max-width: 768px) {
	SECTION.calculator-2-section.nk-cennik {
		padding: 18px 16px 20px;
	}
	.nk-cennik-hlavicka {
		gap: 10px 24px;
	}
	.nk-cennik-udaj STRONG {
		font-size: 22px;
	}
	.nk-cennik-zmenit {
		margin-left: 0;
		flex-basis: 100%;
		font-size: 15px;
	}
	.nk-cennik-karty,
	.nk-cennik-karty.nk-pocet-1 {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.nk-cennik-cena {
		font-size: 34px;
	}
}

/* ---------- Tlačidlo formulára odvozu rovnaké ako pri ostatných formulároch ---------- */
SECTION.calculator-3-section .nf-form-content .submit-container {
	float: none;
	clear: both;
	width: 100%;
	max-width: 552px;
	margin-left: 0;
}
SECTION.calculator-3-section .nf-form-content input[type="submit"] {
	width: 100%;
	height: auto;
	border: 0;
	border-radius: 5px;
}

/* ---------- Úvodný hero (domov): fotka ako <img>, tmavé prechody, text a tlačidlá ---------- */
SECTION.main-slider.nk-hero {
	position: relative;
	height: clamp(560px, 92vh, 920px);
	overflow: hidden;
	background: #111 !important;
	background-image: none !important;
}
.nk-hero-obrazok {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 22% 55%;
}
SECTION.main-slider.nk-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(to bottom, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.35) 22%, rgba(0, 0, 0, 0) 40%),
		linear-gradient(to right, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.55) 38%, rgba(0, 0, 0, 0) 68%),
		linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 35%);
}
SECTION.main-slider.nk-hero .nk-hero-obsah {
	z-index: 2;
	top: auto;
	bottom: clamp(48px, 9vh, 110px);
	transform: none;
}
SECTION.main-slider.nk-hero H1 {
	max-width: 760px;
	margin: 0 0 18px;
	padding: 0;
	font-size: clamp(38px, 4.3vw, 66px);
	line-height: 1.08;
	color: #fff;
}
SECTION.main-slider.nk-hero H1 STRONG,
SECTION.main-slider.nk-hero H1 SPAN {
	display: inline;
	font-size: 1em;
	line-height: inherit;
	font-weight: 600;
	text-transform: none;
	padding: 0;
	background: none;
	border-radius: 0;
}
SECTION.main-slider.nk-hero H1 STRONG {
	color: #fff;
	box-shadow: inset 0 -0.16em 0 #E41C26;
}
SECTION.main-slider.nk-hero H1 SPAN {
	display: block;
	color: #fff;
}
SECTION.main-slider.nk-hero .nk-hero-popis {
	width: auto;
	max-width: 600px;
	margin: 0 0 26px;
	padding: 0;
	font-size: clamp(16px, 1.25vw, 20px);
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}
SECTION.main-slider.nk-hero .nk-hero-tlacidla {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	width: auto;
	margin: 0;
	padding: 0;
	text-align: left !important;
}
.nk-hero-btn.button {
	border: 0;
	border-radius: 5px;
	padding: 17px 30px;
}
.nk-hero-btn2 {
	display: inline-block;
	font-family: 'Signika', sans-serif;
	font-size: 16px;
	line-height: 21px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: #fff !important;
	text-decoration: none !important;
	padding: 16px 28px;
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 5px;
}
.nk-hero-btn2:hover {
	color: #111 !important;
	background: #fff;
}
@media screen and (max-width: 1024px) {
	/* tablet a mobil: fotka hore (kamión aj kontajner), text pod ňou na tmavom pozadí */
	SECTION.main-slider.nk-hero {
		display: flex;
		flex-direction: column;
		height: auto;
		min-height: 0;
	}
	.nk-hero-obrazok {
		position: relative;
		inset: auto;
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		object-position: 76% 60%;
	}
	SECTION.main-slider.nk-hero::after {
		bottom: auto;
		height: calc(100vw * 3 / 4);
		background:
			linear-gradient(to bottom, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 30%),
			linear-gradient(to top, #111 0%, rgba(17, 17, 17, 0) 35%);
	}
	SECTION.main-slider.nk-hero .nk-hero-obsah {
		position: relative;
		bottom: auto;
		margin-top: -36px;
		padding-bottom: 32px;
	}
	SECTION.main-slider.nk-hero H1 {
		font-size: 32px;
		margin-bottom: 14px;
	}
	SECTION.main-slider.nk-hero .nk-hero-popis {
		font-size: 16px;
		margin-bottom: 20px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
	.nk-hero-obrazok { aspect-ratio: 16 / 10; object-position: 70% 60%; }
	SECTION.main-slider.nk-hero::after { height: calc(100vw * 10 / 16); }
	SECTION.main-slider.nk-hero .nk-hero-obsah { margin-top: -60px; padding-bottom: 44px; }
	SECTION.main-slider.nk-hero H1 { font-size: 44px; }
}
@media screen and (max-width: 768px) {
	SECTION.main-slider.nk-hero .nk-hero-tlacidla A {
		flex: 1 1 100%;
		text-align: center;
	}
	SECTION.main-slider.nk-hero::after { background: linear-gradient(to top, #111 0%, rgba(17, 17, 17, 0) 35%); }
}

/* ---------- Ikony služieb pod hero: ikona vždy vedľa textu ---------- */
SECTION.icons-section UL {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
SECTION.icons-section UL LI {
	display: block;
	width: auto;
}
SECTION.icons-section UL LI P {
	padding: 0;
}
SECTION.icons-section UL LI A {
	display: flex;
	align-items: center;
	gap: 16px;
	text-decoration: none;
}
SECTION.icons-section UL LI STRONG {
	flex: 0 0 50px;
	background-size: contain;
	background-position: center;
}
SECTION.icons-section UL LI SPAN {
	padding-left: 0;
	font-size: clamp(18px, 1.6vw, 25px);
}
SECTION.icons-section UL LI A:hover SPAN {
	color: #E41C26;
}
@media screen and (max-width: 1024px) {
	SECTION.icons-section UL { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 768px) {
	SECTION.icons-section UL { grid-template-columns: 1fr; gap: 16px; }
	SECTION.icons-section UL LI SPAN { font-size: 21px; }
}

/* ---------- Banner podstránok: pevná výška, nadpis vždy na obrázku ---------- */
SECTION.page-slider .slider-content {
	z-index: 2;
}
@media screen and (min-width: 769px) {
	SECTION.page-slider {
		position: relative;
		height: clamp(330px, 30vw, 520px);
		padding-bottom: 0;
		margin-bottom: 10px;
		overflow: hidden;
	}
	SECTION.page-slider > IMG {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	SECTION.page-slider::after {
		content: '';
		position: absolute;
		inset: 0;
		background:
			linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 45%),
			linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 60%);
		pointer-events: none;
	}
	SECTION.page-slider .slider-content {
		top: auto;
		bottom: 26px;
		transform: none;
	}
	SECTION.page-slider .slider-content H1 {
		font-size: clamp(34px, 3.6vw, 59px);
		line-height: 1.15;
	}
	SECTION.page-slider .slider-content .subtitle {
		font-size: clamp(20px, 2.1vw, 33px);
		line-height: 1.5;
	}
	SECTION.page-slider .slider-content .subtitle.with-icon IMG {
		height: clamp(32px, 3vw, 50px);
	}
}
@media screen and (max-width: 768px) {
	SECTION.page-slider::after {
		content: '';
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.25);
		pointer-events: none;
	}
}

/* ---------- Tlačidlá materiálov (Preprava materiálu) ---------- */
.type-button:not([style]) {
	padding-top: 11px;
	padding-bottom: 11px;
}

/* ---------- Hamburger 1025–1279 px: základné štýly ikonky (téma ich má len do 1024 px) ---------- */
@media screen and (min-width: 1025px) and (max-width: 1279px) {
	.hamburger { overflow: visible; padding: 0; cursor: pointer; color: inherit; border: 0; background: transparent; font: inherit; text-transform: none; }
	.hamburger-box { position: relative; display: inline-block; width: 40px; height: 24px; }
	.hamburger-inner { display: block; top: 2px; margin-top: -2px; }
	.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before { position: absolute; width: 40px; height: 2px; border-radius: 1px; background-color: #fff; transition: transform 0.15s ease, opacity 0.15s ease; }
	.hamburger-inner:after, .hamburger-inner:before { display: block; content: ""; }
	.hamburger--slider .hamburger-inner:before { top: 10px; }
	.hamburger--slider .hamburger-inner:after { top: 20px; }
	.hamburger--slider.is-active .hamburger-inner { transform: translate3d(0, 10px, 0) rotate(45deg); }
	.hamburger--slider.is-active .hamburger-inner:before { transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); opacity: 0; }
	.hamburger--slider.is-active .hamburger-inner:after { transform: translate3d(0, -20px, 0) rotate(-90deg); }
}

/* ---------- Horná lišta na tablete: v jednom riadku ---------- */
@media screen and (min-width: 769px) {
	.top-header .column.small-6.text-left { width: 80%; }
	.top-header .column.small-6.text-right { width: 20%; }
	.top-header .text-left UL { white-space: nowrap; }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
	.top-header A { padding-left: 14px; padding-right: 14px; font-size: 13px; }
	.top-header A.phone, .top-header A.email { padding-left: 42px; background-position: left 14px center; }
}

/* ---------- Karty služieb, materiálov a galérií na menších obrazovkách ---------- */
@media screen and (min-width: 769px) and (max-width: 1279px) {
	.gallery-box .text { padding: 26px 24px; }
	.gallery-box .text H3 { font-size: clamp(24px, 2.5vw, 37px); line-height: 1.15; }
	.gallery-box .text P { font-size: 17px; line-height: 1.4; }
}
SECTION.calculator-2-section P.nk-cennik-ziadna {
	font-size: 18px;
	font-weight: 400;
	text-decoration: none;
}

@media screen and (max-width: 359px) {
	.nk-tel-mobil { font-size: 0; padding-left: 26px; padding-right: 4px; }
	.nk-akcia-mobil { right: 118px; }
}

/* Bežná cena prečiarknutá pri akcii (tabuľka materiálu) */
.product-box .nk-cena-stara {
	display: block;
	font-size: 15px;
	font-weight: 400;
	color: #827676;
	text-decoration: line-through;
}

/* ---------- Banner podstránok: nadpis a „Zobraziť číslo" vedľa seba (číslo už nie je súčasťou H1) ---------- */
SECTION.page-slider .nk-banner-riadok {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
}
SECTION.page-slider .nk-banner-riadok H1 {
	margin: 0;
	padding: 0;
}
SECTION.page-slider .nk-banner-riadok .subtitle {
	float: none;
	margin: 0;
}
@media screen and (max-width: 768px) {
	SECTION.page-slider .nk-banner-riadok .subtitle {
		width: 100%;
	}
}

/* ---------- Hlavičky stĺpcov tabuľky materiálu (div namiesto h3) a nadpisy v pätičke (p namiesto h2) ---------- */
ARTICLE.page-article .product-header {
	font-family: 'Signika', sans-serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 74px;
	padding: 0 0 30px;
	margin: 0;
}
ARTICLE.page-article .product-header.type-1,
ARTICLE.page-article .product-header.type-2,
ARTICLE.page-article .product-header.type-3 {
	font-size: 20px;
}
ARTICLE.page-article .product-header.two-lines {
	font-size: 20px;
	line-height: 37px;
}
FOOTER .nk-pata-nadpis {
	font-family: 'Signika', sans-serif;
	font-size: 30px;
	line-height: 1.333;
	font-weight: 400;
	color: #fff;
	padding: 0 0 27px;
	margin: 0;
}
FOOTER .nk-pata-nadpis A {
	color: #fff;
}

/* ---------- Galérie: posuvný slider a mriežka ---------- */
.nk-galerie {
	margin: 10px 0 20px;
}
.nk-galeria {
	position: relative;
	margin: 0 0 40px;
}
ARTICLE.page-article H3.nk-galeria-nadpis,
H3.nk-galeria-nadpis {
	font-size: 24px;
	line-height: 1.2;
	font-weight: 600;
	padding: 0 0 14px;
	margin: 0;
}
.nk-galeria-nadpis SPAN {
	font-size: 16px;
	font-weight: 400;
	color: #8D7A7A;
	white-space: nowrap;
}
.nk-galeria-pas {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 10px;
	scrollbar-width: thin;
}
.nk-galeria-fotka {
	position: relative;
	display: block;
	flex: 0 0 calc((100% - 32px) / 3);
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 12px;
	background: #eee;
	scroll-snap-align: start;
}
.nk-galeria-fotka IMG {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}
.nk-galeria-fotka:hover IMG,
.nk-galeria-fotka:focus-visible IMG {
	transform: scale(1.04);
}
.nk-galeria-sipka {
	position: absolute;
	top: calc(50% + 14px);
	z-index: 2;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	font-size: 34px;
	line-height: 44px;
	color: #111;
	background: #fff;
	border: 0;
	border-radius: 50%;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
	cursor: pointer;
}
.nk-galeria-sipka[hidden] {
	display: none;
}
.nk-galeria-sipka:hover {
	color: #fff;
	background: #E41C26;
}
.nk-vlavo { left: -12px; }
.nk-vpravo { right: -12px; }
.nk-galeria-mriezka .nk-galeria-pas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	overflow: visible;
	scroll-snap-type: none;
}
@media screen and (max-width: 1024px) {
	.nk-galeria-slider .nk-galeria-fotka { flex-basis: calc((100% - 16px) / 2); }
}
@media screen and (max-width: 768px) {
	.nk-galeria-slider .nk-galeria-fotka { flex-basis: 82%; }
	.nk-galeria-sipka { display: none; }
	.nk-galeria-mriezka .nk-galeria-pas { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* ---------- Prehliadač fotiek na celú obrazovku ---------- */
.nk-lb-otvoreny,
.nk-lb-otvoreny BODY {
	overflow: hidden;
}
.nk-lb {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.92);
}
.nk-lb[hidden] {
	display: none;
}
.nk-lb-figura {
	margin: 0;
	max-width: 92vw;
	text-align: center;
}
.nk-lb-img {
	display: block;
	max-width: 92vw;
	max-height: 84vh;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 6px;
}
.nk-lb FIGCAPTION {
	margin-top: 10px;
	font-family: 'Signika', sans-serif;
	font-size: 16px;
	color: #ddd;
}
.nk-lb-pocet {
	color: #999;
}
.nk-lb-zavriet,
.nk-lb-sipka {
	position: absolute;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}
.nk-lb-zavriet {
	top: 14px;
	right: 14px;
	width: 48px;
	height: 48px;
	font-size: 34px;
	line-height: 46px;
}
.nk-lb-sipka {
	top: 50%;
	width: 54px;
	height: 54px;
	margin-top: -27px;
	font-size: 40px;
	line-height: 50px;
}
.nk-lb-vlavo { left: 14px; }
.nk-lb-vpravo { right: 14px; }
.nk-lb-zavriet:hover,
.nk-lb-sipka:hover {
	background: #E41C26;
}
@media screen and (max-width: 768px) {
	.nk-lb-sipka { top: auto; bottom: 18px; margin-top: 0; }
	.nk-lb-img { max-height: 74vh; }
}

/* Zalomenie položiek hlavného menu len na desktope (v mobilnom menu jeden riadok) */
@media screen and (max-width: 1279px) {
	HEADER .nk-zlom { display: none; }
}

/* Nadpis nad zoznamom (aktuality, galérie, materiály) */
H2.nk-h2-zoznam,
ARTICLE.page-article H2.nk-h2-zoznam {
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.2;
	padding: 10px 0 24px;
}

/* Obrázky s width/height atribútmi (kvôli CLS) sa prispôsobia šírke */
SECTION.services-section .service-box .image IMG,
.product-image IMG,
.article-box .image IMG,
.equipment-box .image IMG,
.gallery-item IMG {
	height: auto;
}

/* Slider galérie: ťahanie myšou */
.nk-galeria-slider .nk-galeria-pas {
	cursor: grab;
}
.nk-galeria-slider .nk-galeria-pas.nk-tahanie {
	cursor: grabbing;
	scroll-snap-type: none;
	scroll-behavior: auto;
	user-select: none;
}
.nk-galeria-pas IMG {
	-webkit-user-drag: none;
	user-select: none;
}

/* =====================================================================
 * Jednotné tlačidlá naprieč webom (11/2026)
 * Tvar všade rovnaký: roh 6 px, bez čierneho okraja, Signika veľkými písmenami, výška 50 px.
 * Varianty sa líšia len farbou: červené (hlavné), tmavé, obrysové, svetlé štítky (výber).
 * ===================================================================== */
.button,
a.button,
button.button,
.nf-form-content .ninja-forms-field[type="submit"],
.nf-form-content input[type="button"],
.nk-cennik-btn,
.nk-hero-btn2,
.nk-akcia-tlacidla A,
.nk-modal-tel A {
	display: inline-block;
	min-height: 50px;
	padding: 15px 28px !important;
	font-family: 'Signika', sans-serif !important;
	font-size: 16px !important;
	font-weight: 500;
	line-height: 20px !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	text-align: center;
	text-decoration: none !important;
	border: 0 !important;
	border-radius: 6px !important;
	box-shadow: none;
	transition: background-color 0.15s, color 0.15s, box-shadow 0.15s;
	cursor: pointer;
}
.button-block,
.nf-form-content .ninja-forms-field[type="submit"] {
	display: block;
	width: 100%;
}
/* červené (hlavné) */
.button,
.nf-form-content .ninja-forms-field[type="submit"],
.nk-cennik-btn,
.nk-akcia-tlacidla A.nk-akcia-tel,
.nk-modal-tel A {
	color: #fff !important;
	background: #E41C26 !important;
}
.button:hover,
.nf-form-content .ninja-forms-field[type="submit"]:hover,
.nk-cennik-btn:hover,
.nk-akcia-tlacidla A.nk-akcia-tel:hover,
.nk-modal-tel A:hover {
	color: #fff !important;
	background: #111 !important;
}
/* tmavé: na červenom pozadí kalkulačky a v tmavých kartách */
SECTION.calculator-section .button,
.gallery-box .image .button {
	color: #fff !important;
	background: #111 !important;
}
.gallery-box.type-2 .image .button {
	background: #E41C26 !important;
}
.gallery-box .image .button {
	border-radius: 6px 0 0 0 !important;
}
SECTION.calculator-section .button:hover,
.gallery-box .image .button:hover {
	background: #fff !important;
	color: #111 !important;
}
/* obrysové */
.nk-hero-btn2,
.nk-akcia-tlacidla A.nk-akcia-btn {
	background: transparent !important;
	box-shadow: inset 0 0 0 2px currentColor;
}
.nk-hero-btn2 { color: #fff !important; }
.nk-akcia-tlacidla A.nk-akcia-btn { color: #111 !important; }
.nk-hero-btn2:hover { color: #111 !important; background: #fff !important; box-shadow: none; }
.nk-akcia-tlacidla A.nk-akcia-btn:hover { color: #fff !important; background: #111 !important; box-shadow: none; }
/* tlačidlo „Vyžiadať cenovú ponuku" v tabuľke materiálu má v šablóne vlastný štýl */
.material-select {
	border-radius: 6px !important;
	margin-top: 15px !important;
}
/* svetlé štítky na výber (druh odpadu, materiál) — rovnaký roh, nižšie */
.type-button {
	min-height: 44px;
	padding-top: 10px;
	padding-bottom: 10px;
	line-height: 24px !important;
	border-radius: 6px !important;
	color: #6f5f5f;
	transition: background-color 0.15s, color 0.15s;
}
.type-button:hover,
.type-button.active {
	color: #fff;
	background: #E41C26;
}
/* „Zobraziť číslo" v banneri podstránky */
SECTION.page-slider .slider-content .subtitle {
	border: 0 !important;
	border-radius: 6px !important;
	background: #E41C26 !important;
}
/* štítky v hlavičke */
.top-header LI.nk-lista-akcia A,
.nk-akcia-mobil,
.nk-tel-mobil {
	border-radius: 6px;
}

/* =====================================================================
 * Stránka obce /odvoz-odpadu/{obec}/
 * ===================================================================== */
.nk-obec {
	margin: 10px 0 40px;
}
ARTICLE.page-article .nk-obec H2 {
	font-size: clamp(26px, 2.6vw, 36px);
	line-height: 1.2;
	padding: 28px 0 14px;
}
ARTICLE.page-article .nk-obec H3 {
	font-size: 22px;
	font-weight: 600;
	padding: 0 0 8px;
}
ARTICLE.page-article .nk-obec P {
	font-size: 18px;
	line-height: 1.6;
	padding-bottom: 14px;
}
.nk-obec-tabulka-obal {
	overflow-x: auto;
	border: 1px solid #e3dcdc;
	border-radius: 12px;
}
.nk-obec-tabulka {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Signika', sans-serif;
	font-size: 17px;
}
.nk-obec-tabulka TH,
.nk-obec-tabulka TD {
	padding: 12px 16px;
	text-align: center;
	border-bottom: 1px solid #ece6e6;
	background: #fff;
}
.nk-obec-tabulka THEAD TH {
	color: #fff;
	background: #4B4444;
	font-weight: 600;
}
.nk-obec-tabulka TBODY TH {
	text-align: left;
	font-weight: 600;
}
.nk-obec-tabulka TBODY TH A {
	color: #111;
	text-decoration: underline;
}
.nk-obec-tabulka TBODY TD {
	font-weight: 600;
	color: #E41C26;
}
.nk-obec-tabulka TBODY TR:nth-child(even) TH,
.nk-obec-tabulka TBODY TR:nth-child(even) TD {
	background: #faf7f7;
}
.nk-obec-nie {
	color: #b9adad;
	font-weight: 400;
}
ARTICLE.page-article .nk-obec P.nk-obec-pozn {
	margin-top: 8px;
	font-size: 15px;
	color: #6f6f6f;
}
.nk-obec-druh {
	margin: 0 0 16px;
	padding: 20px 22px 6px;
	background: #f7f3f3;
	border-radius: 12px;
}
.nk-obec-druh.nk-obec-fokus {
	background: #fff4f3;
	box-shadow: inset 0 0 0 2px #E41C26;
}
ARTICLE.page-article .nk-obec P.nk-obec-cena {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	font-family: 'Signika', sans-serif;
}
.nk-obec-cena STRONG {
	font-size: 22px;
	color: #E41C26;
}
.nk-obec-cena .nk-obec-btn {
	margin-left: auto;
}
.nk-obec-kroky {
	margin: 0 0 10px;
	padding-left: 22px;
	font-family: 'Signika', sans-serif;
	font-size: 18px;
	line-height: 1.6;
}
.nk-obec-kroky LI {
	margin-bottom: 6px;
}
@media screen and (max-width: 768px) {
	.nk-obec-tabulka-obal {
		border: 0;
		overflow: visible;
	}
	.nk-obec-tabulka THEAD {
		display: none;
	}
	.nk-obec-tabulka,
	.nk-obec-tabulka TBODY,
	.nk-obec-tabulka TR {
		display: block;
		width: 100%;
	}
	.nk-obec-tabulka TR {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		margin-bottom: 12px;
		border: 1px solid #e3dcdc;
		border-radius: 12px;
		overflow: hidden;
	}
	.nk-obec-tabulka TBODY TH {
		grid-column: 1 / -1;
		background: #4B4444 !important;
	}
	.nk-obec-tabulka TBODY TH A {
		color: #fff;
	}
	.nk-obec-tabulka TD {
		text-align: left;
	}
	.nk-obec-tabulka TD::before {
		content: attr(data-label) ': ';
		color: #6f6f6f;
		font-weight: 400;
	}
	.nk-obec-tabulka TD:has(.nk-obec-nie) {
		display: none;
	}
	.nk-obec-cena .nk-obec-btn {
		margin-left: 0;
		width: 100%;
	}
}
