/* Výsuvné menu E-shop – na celú šírku okna, mriežka kategórií (header.blade.php, .mega-menu-grid).
   Selektory sú zámerne silnejšie ako pravidlá .main-menu … zo style.min.css, ktoré sa dedia do vnorených zoznamov. */

/* Menu sa pozicuje voči celému pásu navigácie, nie voči 1200 px kontajneru. */
.header-bottom.sticky-nav:not(.menu_fixed) {
	position: relative;
}
.header-bottom.sticky-nav > .container.position-relative {
	position: static !important;
}

.main-menu .mega-menu.mega-menu-grid {
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	padding: 0;
	text-align: left;
	border-top: 3px solid #fc8801;
	box-shadow: 0 18px 30px -12px rgba(0, 0, 0, .25);
}
.main-menu li.dropdown:focus-within .mega-menu.mega-menu-grid {
	opacity: 1;
	visibility: visible;
	transform: rotateX(0);
}

.main-menu .mega-menu.mega-menu-grid > .mega-menu-inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	max-width: 1520px;
	margin: 0 auto;
	padding: 12px 40px 16px;
}

.main-menu .mega-menu.mega-menu-grid .mega-cat {
	padding: 18px 24px 20px;
	border-left: 1px solid #f0f0f0;
}
.main-menu .mega-menu.mega-menu-grid .mega-cat:nth-child(4n + 1) {
	border-left: 0;
	padding-left: 0;
}
.main-menu .mega-menu.mega-menu-grid .mega-cat:nth-child(n + 5) {
	border-top: 1px solid #f0f0f0;
}

.main-menu .mega-menu.mega-menu-grid a.mega-cat-head {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 56px;
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	height: auto;
	line-height: 1.3;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: #000;
}
.main-menu .mega-menu.mega-menu-grid a.mega-cat-head img {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	object-fit: cover;
	object-position: right center;
	border-radius: 6px;
	background: #fff;
	border: 1px solid #f0f0f0;
}
.main-menu .mega-menu.mega-menu-grid a.mega-cat-head:hover {
	color: #fc8801;
	padding-left: 0;
}

.main-menu .mega-menu.mega-menu-grid .mega-subs {
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
}
.main-menu .mega-menu.mega-menu-grid .mega-subs li {
	display: block;
	margin: 0;
	padding: 0;
}
.main-menu .mega-menu.mega-menu-grid .mega-subs li a {
	display: block;
	height: auto;
	margin: 0;
	padding: 4px 0;
	border: 0;
	line-height: 1.35;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #444;
	transition: color .15s, transform .15s;
}
.main-menu .mega-menu.mega-menu-grid .mega-subs li a:hover {
	color: #fc8801;
	padding-left: 0;
	transform: translateX(4px);
}

@media (max-width: 1199.98px) {
	.main-menu .mega-menu.mega-menu-grid > .mega-menu-inner {
		padding: 8px 20px 12px;
	}
	.main-menu .mega-menu.mega-menu-grid .mega-cat {
		padding: 14px 14px 16px;
	}
	.main-menu .mega-menu.mega-menu-grid a.mega-cat-head {
		gap: 10px;
		min-height: 44px;
		font-size: 15px;
	}
	.main-menu .mega-menu.mega-menu-grid a.mega-cat-head img {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
	}
}
