/*
 * Innerjoy site-wide refinements: full-width Popular Categories on desktop
 * and fail-safe navigation feedback on every public page.
 */

.ijpc-navigation-loader[hidden] {
	display: none !important;
}

.ijpc-navigation-loader {
	position: fixed;
	z-index: 2147483000;
	inset: 0;
	display: grid;
	place-items: end end;
	padding: 24px;
	pointer-events: none;
	background: transparent;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	opacity: 0;
	visibility: hidden;
	transition: opacity 160ms ease, visibility 160ms ease;
}

.ijpc-navigation-loader.is-visible {
	opacity: 1;
	visibility: visible;
}

.ijpc-navigation-loader__progress {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	overflow: hidden;
	background: rgba(11, 41, 56, .08);
}

.ijpc-navigation-loader__progress i {
	display: block;
	width: 42%;
	height: 100%;
	border-radius: 99px;
	background: linear-gradient(90deg, #1264e7, #e56e9f, #1264e7);
	box-shadow: 0 0 18px rgba(18, 100, 231, .35);
	animation: ijpc-navigation-progress 1.05s cubic-bezier(.4, 0, .2, 1) infinite;
}

.ijpc-navigation-loader__card {
	display: flex;
	align-items: center;
	gap: 14px;
	width: min(330px, calc(100vw - 34px));
	min-height: 72px;
	padding: 12px 16px;
	border: 1px solid rgba(11, 41, 56, .1);
	border-radius: 23px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 18px 46px rgba(7, 34, 48, .17);
	transform: translateY(8px) scale(.98);
	transition: transform 180ms cubic-bezier(.2, .75, .2, 1);
}

.ijpc-navigation-loader.is-visible .ijpc-navigation-loader__card {
	transform: translateY(0) scale(1);
}

.ijpc-navigation-loader__mark {
	flex: 0 0 auto;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 4px;
	width: 44px;
	height: 44px;
	padding: 10px 9px;
	border-radius: 14px;
	background: linear-gradient(145deg, #0a3550, #1264e7);
	box-shadow: 0 10px 22px rgba(18, 100, 231, .22);
}

.ijpc-navigation-loader__mark i {
	display: block;
	width: 5px;
	height: 12px;
	border-radius: 99px;
	background: #fff;
	animation: ijpc-navigation-bars .8s ease-in-out infinite alternate;
}

.ijpc-navigation-loader__mark i:nth-child(2) {
	height: 22px;
	animation-delay: -.28s;
}

.ijpc-navigation-loader__mark i:nth-child(3) {
	height: 16px;
	animation-delay: -.52s;
}

.ijpc-navigation-loader__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.ijpc-navigation-loader__copy strong {
	color: #0b2938;
	font-size: 15px;
	font-weight: 760;
	letter-spacing: -.018em;
	line-height: 1.2;
}

.ijpc-navigation-loader__copy small {
	color: #71818a;
	font-size: 12px;
	font-weight: 520;
	line-height: 1.35;
}

@keyframes ijpc-navigation-progress {
	0% { transform: translateX(-110%); }
	100% { transform: translateX(350%); }
}

@keyframes ijpc-navigation-bars {
	from { transform: scaleY(.45); opacity: .52; }
	to { transform: scaleY(1); opacity: 1; }
}

/*
 * Popular Categories remains a carousel on every device. Desktop uses a
 * stable native scroll rail so a late Woodmart/Swiper recalculation cannot
 * collapse the cards or turn the slider into a grid. Tablet and mobile keep
 * Woodmart's existing swipe behaviour.
 */
@media (min-width: 1101px) {
	.ijpc-popular-width-host {
		overflow: visible !important;
		overflow-x: visible !important;
		contain: none !important;
	}

	.ijpc-popular-categories-section {
		--ijpc-popular-page-gutter: clamp(28px, 3vw, 58px);
		position: relative;
		--container-widget-width: 100% !important;
		width: var(--ijpc-popular-live-width, calc(100vw - (var(--ijpc-popular-page-gutter) * 2))) !important;
		inline-size: var(--ijpc-popular-live-width, calc(100vw - (var(--ijpc-popular-page-gutter) * 2))) !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.ijpc-popular-categories-carousel {
		position: relative;
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		overflow: hidden !important;
		border: 1px solid rgba(86, 45, 61, .09);
		border-radius: clamp(27px, 2vw, 38px);
		background:
			radial-gradient(circle at 13% 5%, rgba(231, 111, 157, .11), transparent 29%),
			radial-gradient(circle at 90% 88%, rgba(23, 102, 227, .07), transparent 24%),
			linear-gradient(140deg, #fffaf9 0%, #fdfbf9 54%, #f8fafc 100%);
		box-shadow: 0 22px 54px rgba(35, 24, 30, .07);
	}

	.ijpc-popular-categories-carousel::before,
	.ijpc-popular-categories-carousel::after {
		content: '';
		position: absolute;
		z-index: 0;
		border: 1px solid rgba(229, 110, 159, .18);
		border-radius: 50%;
		pointer-events: none;
	}

	.ijpc-popular-categories-carousel::before {
		top: -210px;
		right: -85px;
		width: 430px;
		height: 430px;
	}

	.ijpc-popular-categories-carousel::after {
		left: -160px;
		bottom: -275px;
		width: 390px;
		height: 390px;
	}

	body .ijpc-popular-categories-track[data-ijpc-popular-ready="true"] {
		--ijpc-popular-gap: clamp(14px, 1.25vw, 20px);
		position: relative;
		z-index: 1;
		display: flex !important;
		align-items: stretch !important;
		gap: var(--ijpc-popular-gap) !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: clamp(34px, 3vw, 48px) clamp(54px, 4.2vw, 74px) clamp(36px, 3.4vw, 54px) !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		transform: none !important;
		translate: none !important;
		transition: none !important;
		box-sizing: border-box !important;
		overscroll-behavior-inline: contain;
		scroll-behavior: smooth;
		scroll-padding-inline: clamp(54px, 4.2vw, 74px);
		scroll-snap-type: inline mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	body .ijpc-popular-categories-track[data-ijpc-popular-ready="true"]::-webkit-scrollbar {
		display: none;
	}

	body .ijpc-popular-categories-track[data-ijpc-popular-ready="true"] > .ijpc-popular-category-slide {
		display: block !important;
		flex: 0 0 calc((100% - (var(--ijpc-popular-gap) * 3)) / 4) !important;
		width: calc((100% - (var(--ijpc-popular-gap) * 3)) / 4) !important;
		max-width: none !important;
		min-width: 245px !important;
		height: auto !important;
		min-height: 178px;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.ijpc-popular-categories-carousel :is(.wd-btn-arrow, .wd-nav-arrows, .wd-carousel-pagin) {
		display: none !important;
	}

	.ijpc-popular-carousel-nav {
		position: absolute;
		z-index: 5;
		top: 50%;
		right: 17px;
		left: 17px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		pointer-events: none;
		transform: translateY(-50%);
	}

	.ijpc-popular-carousel-nav button {
		display: grid;
		place-items: center;
		width: 46px;
		height: 46px;
		padding: 0;
		border: 1px solid rgba(37, 27, 31, .11);
		border-radius: 50%;
		background: rgba(255, 255, 255, .96);
		box-shadow: 0 12px 30px rgba(38, 24, 30, .15);
		color: #251b1f;
		pointer-events: auto;
		cursor: pointer;
		transition: color 180ms ease, background 180ms ease, opacity 180ms ease, transform 180ms ease;
	}

	.ijpc-popular-carousel-nav button:hover:not(:disabled) {
		background: #251b1f;
		color: #fff;
		transform: scale(1.05);
	}

	.ijpc-popular-carousel-nav button:disabled {
		opacity: .32;
		cursor: default;
	}

	.ijpc-popular-carousel-nav svg {
		width: 20px;
		height: 20px;
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 2;
	}

	.ijpc-popular-category-card,
	.ijpc-popular-category-card .wd-cat-inner {
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		margin: 0 !important;
	}

	.ijpc-popular-category-card .wd-cat-inner {
		position: relative;
		display: grid !important;
		grid-template-columns: minmax(112px, 46%) minmax(0, 1fr) !important;
		align-items: stretch !important;
		gap: 0;
		padding: 8px !important;
		border: 1px solid rgba(76, 49, 59, .1);
		border-radius: 24px !important;
		background: rgba(255, 255, 255, .82) !important;
		box-shadow: 0 12px 28px rgba(53, 34, 42, .07);
		transition: transform 220ms cubic-bezier(.2, .7, .2, 1), box-shadow 220ms ease, border-color 220ms ease;
	}

	.ijpc-popular-category-card .wd-cat-thumb {
		position: relative;
		width: 100% !important;
		margin: 0 !important;
		overflow: hidden;
		border: 1px solid rgba(11, 41, 56, .07);
		border-radius: 18px;
		background: linear-gradient(150deg, #f7f8f9, #e9edef);
		aspect-ratio: 1 / 1;
	}

	.ijpc-popular-category-card .wd-cat-image,
	.ijpc-popular-category-card .wd-cat-image img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
	}

	.ijpc-popular-category-card .wd-cat-image img {
		object-fit: contain !important;
		object-position: center !important;
		transform: scale(.84);
		transition: transform 320ms cubic-bezier(.2, .7, .2, 1);
	}

	.ijpc-popular-category-card .wd-cat-content {
		position: relative !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: center !important;
		flex-direction: column !important;
		gap: 16px;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 100%;
		padding: 19px 16px 17px 19px !important;
		border: 0 !important;
		border-radius: 0 16px 16px 0 !important;
		background: transparent !important;
		transform: none !important;
	}

	.ijpc-popular-category-card .wd-cat-content::after {
		content: '\2197';
		display: grid;
		flex: 0 0 auto;
		place-items: center;
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background: rgba(229, 110, 159, .12);
		color: #87445f;
		font-size: 14px;
		font-weight: 800;
	}

	.ijpc-popular-category-card .wd-entities-title {
		min-width: 0;
		margin: 0 !important;
		color: #251b1f !important;
		font-size: clamp(15px, 1.08vw, 18px) !important;
		font-weight: 720 !important;
		letter-spacing: -.015em;
		line-height: 1.22 !important;
		text-align: left !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}
}

@media (max-width: 1100px) {
	.ijpc-popular-carousel-nav {
		display: none !important;
	}
}

@media (min-width: 1101px) and (hover: hover) and (pointer: fine) {
	.ijpc-popular-category-card:hover .wd-cat-inner {
		border-color: rgba(229, 110, 159, .28);
		box-shadow: 0 22px 42px rgba(53, 34, 42, .12);
		transform: translateY(-5px);
	}

	.ijpc-popular-category-card:hover .wd-cat-image img {
		transform: scale(.91);
	}
}

@media (max-width: 768px) {
	.ijpc-navigation-loader {
		place-items: end center;
		padding: 0 14px calc(88px + env(safe-area-inset-bottom));
		background: transparent;
	}

	.ijpc-navigation-loader__card {
		width: 100%;
		min-height: 74px;
		padding: 12px 15px;
		border-radius: 20px;
	}

	.ijpc-navigation-loader__mark {
		width: 44px;
		height: 44px;
		border-radius: 14px;
	}

	.ijpc-navigation-loader__copy strong { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.ijpc-navigation-loader,
	.ijpc-navigation-loader *,
	.ijpc-popular-category-card,
	.ijpc-popular-category-card * {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
