:root{
	--vicora-cats-emerald-1:#012E2D;
	--vicora-cats-emerald-2:#003B39;
	--vicora-cats-emerald-3:#014443;
	--vicora-cats-gold:#D4AF37;
	--vicora-cats-ivory:rgba(255,255,255,.88);
	--vicora-home-page-bg:linear-gradient(135deg, #F8F4EE 0%, #F2ECE4 50%, #ECE5DC 100%);
}

body.home,
body.front-page{
	background:#F2ECE4;
}

.vicora-home-categories{
	position:relative;
	display:block;
	flex:none;
	box-sizing:border-box;
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	margin-top:-58px;
	padding:0 0 56px;
	background:linear-gradient(
		to bottom,
		transparent 0 58px,
		#F8F4EE 58px,
		#F2ECE4 58%,
		#ECE5DC 100%
	);
	isolation:isolate;
	clear:both;
	z-index:5;
}

.vicora-home-categories::before{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background:
		radial-gradient(360px 220px at 3% 64px, rgba(255,230,154,.42), rgba(197,164,103,.20) 42%, transparent 72%),
		radial-gradient(360px 220px at 97% 64px, rgba(255,230,154,.42), rgba(197,164,103,.20) 42%, transparent 72%),
		radial-gradient(760px 160px at 50% 98px, rgba(255,232,168,.18), transparent 72%);
	filter:blur(18px);
	opacity:.72;
	pointer-events:none;
	z-index:0;
}

.vicora-home-categories__capsule{
	position:relative;
	z-index:1;
	width:min(1988px, calc(100% - 62px));
	height:470px !important;
	min-height:470px;
	max-height:470px;
	margin:0 auto;
	border-radius:999px;
	background:linear-gradient(
		135deg,
		var(--vicora-cats-emerald-1) 0%,
		var(--vicora-cats-emerald-2) 50%,
		var(--vicora-cats-emerald-3) 100%
	);
	border:0;
	box-shadow:
		0 25px 60px rgba(0,0,0,.18),
		inset 0 0 0 1px rgba(255,255,255,.08),
		inset 0 0 34px rgba(212,175,55,.12),
		inset 0 -36px 80px rgba(0,0,0,.18);
	overflow:hidden;
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
}

.vicora-home-categories__capsule::before{
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	background:
		linear-gradient(90deg, rgba(255,230,164,.12), rgba(255,230,164,0) 12%, rgba(255,230,164,0) 88%, rgba(255,230,164,.12)),
		radial-gradient(760px 310px at 50% 34%, rgba(212,175,55,.18), rgba(212,175,55,0) 62%),
		radial-gradient(1040px 260px at 50% 100%, rgba(255,255,255,.05), rgba(255,255,255,0) 66%);
	pointer-events:none;
}

.vicora-home-categories__capsule::after{
	display:none;
}

.vicora-home-categories__ornament{
	position:absolute;
	inset:0;
	opacity:.24;
	background:
		radial-gradient(ellipse at 13% 50%, rgba(255,223,143,.26), transparent 28%),
		radial-gradient(ellipse at 87% 50%, rgba(255,223,143,.26), transparent 28%),
		repeating-radial-gradient(ellipse at 9% 50%, rgba(255,232,176,.16) 0 1px, transparent 1px 20px),
		repeating-radial-gradient(ellipse at 91% 50%, rgba(255,232,176,.16) 0 1px, transparent 1px 20px),
		repeating-linear-gradient(75deg, rgba(255,255,255,.045) 0 1px, transparent 1px 34px);
	filter:blur(.2px);
	pointer-events:none;
	z-index:0;
}

.vicora-home-categories__ornament::before{
	content:"";
	position:absolute;
	inset:7px 7px 0;
	border-top:2px solid rgba(244,207,91,.96);
	border-right:2px solid rgba(244,207,91,.9);
	border-bottom:2px solid rgba(244,207,91,.9);
	border-left:2px solid rgba(244,207,91,.9);
	border-radius:999px;
	filter:
		drop-shadow(0 0 8px rgba(212,175,55,.34))
		drop-shadow(0 0 18px rgba(255,230,154,.22));
	pointer-events:none;
}

.vicora-home-categories__ornament::after{
	display:none;
}

.vicora-home-categories__grid::before,
.vicora-home-categories__grid::after{
	content:"";
	position:absolute;
	top:10px;
	width:180px;
	height:180px;
	border-radius:999px;
	background:radial-gradient(circle, rgba(255,232,168,.36), rgba(212,175,55,.12) 46%, transparent 72%);
	filter:blur(22px);
	opacity:.68;
	pointer-events:none;
	z-index:-1;
}

.vicora-home-categories__grid::before{
	left:-58px;
}

.vicora-home-categories__grid::after{
	right:-58px;
}

.vicora-home-categories__grid{
	position:relative;
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	align-items:center;
	justify-items:center;
	height:320px;
	padding:0 110px;
	gap:0;
	z-index:2;
}

.vicora-home-categories__item{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:24px;
	text-decoration:none !important;
	color:#fff;
	transform:translateZ(0);
	transition:transform 300ms ease;
}

.vicora-home-categories__imageWrap{
	position:relative;
	width:170px;
	height:170px;
	min-width:170px;
	min-height:170px;
	max-width:170px;
	max-height:170px;
	aspect-ratio:1 / 1;
	border-radius:999px;
	display:grid;
	place-items:center;
	isolation:isolate;
	filter:drop-shadow(0 18px 24px rgba(0,0,0,.26));
}

.vicora-home-categories__imageRing{
	position:absolute;
	inset:-2px;
	border-radius:inherit;
	background:
		linear-gradient(180deg, rgba(212,175,55,.95), rgba(212,175,55,.55));
	box-shadow:
		0 18px 34px rgba(0,0,0,.22),
		0 0 0 3px rgba(3,36,34,.88),
		inset 0 0 0 1px rgba(0,0,0,.42);
	z-index:0;
}

.vicora-home-categories__image{
	position:relative;
	z-index:1;
	display:block;
	width:164px !important;
	height:164px !important;
	min-width:164px;
	min-height:164px;
	max-width:164px !important;
	max-height:164px !important;
	aspect-ratio:1 / 1;
	border-radius:999px;
	object-fit:cover;
	object-position:center top;
	background:#EADDCB;
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,.16),
		0 18px 40px rgba(0,0,0,.25);
}

.vicora-home-categories__label{
	font-family:var(--ast-global-font-family-headings, "Playfair Display", "Cormorant Garamond", Georgia, serif);
	font-size:38px !important;
	font-weight:500;
	letter-spacing:0;
	line-height:1;
	color:#fff;
	text-shadow:
		0 2px 18px rgba(0,0,0,.45),
		0 0 20px rgba(212,175,55,.16);
	white-space:nowrap;
}

.vicora-home-categories__item:hover{
	transform:translateY(-2px) scale(1.02);
}

.vicora-home-categories__item:hover .vicora-home-categories__imageRing{
	filter:brightness(1.15);
	box-shadow:
		0 20px 44px rgba(0,0,0,.26),
		0 0 0 1px rgba(212,175,55,.60),
		0 0 34px rgba(212,175,55,.22),
		inset 0 0 0 1px rgba(0,0,0,.42);
}

.vicora-home-categories__item.is-active{
	transform:translateY(-3px) scale(1.08);
}

.vicora-home-categories__item.is-active .vicora-home-categories__imageRing{
	background:linear-gradient(180deg, #F7E6A4, var(--vicora-cats-gold));
	box-shadow:
		0 24px 52px rgba(0,0,0,.28),
		0 0 0 3px rgba(255,235,168,.82),
		0 0 34px rgba(255,206,90,.68),
		0 0 104px rgba(255,210,120,.32),
		inset 0 0 0 1px rgba(0,0,0,.42);
}

.vicora-home-categories__item.is-active .vicora-home-categories__imageWrap::before{
	content:"";
	position:absolute;
	inset:-18px;
	border-radius:inherit;
	background:radial-gradient(circle, rgba(255,228,150,.55), rgba(255,228,150,0) 64%);
	filter:blur(2px);
	z-index:0;
	pointer-events:none;
}

.vicora-home-categories__spark{
	position:absolute;
	left:50%;
	width:18px;
	height:18px;
	transform:translateX(-50%) rotate(45deg);
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,1), rgba(255,255,255,0) 55%),
		linear-gradient(180deg, rgba(255,240,190,1), rgba(212,175,55,.2));
	opacity:0;
	filter:drop-shadow(0 0 10px rgba(212,175,55,.55));
	pointer-events:none;
}

.vicora-home-categories__spark--top{ top:-18px; }
.vicora-home-categories__spark--bottom{ bottom:-82px; }

.vicora-home-categories__item.is-active .vicora-home-categories__spark{
	opacity:1;
	animation:vicoraCatsSparkle 2.2s ease-in-out infinite;
}

.vicora-home-categories__item.is-active .vicora-home-categories__spark--bottom{
	animation-delay:1.1s;
}

@keyframes vicoraCatsSparkle{
	0%, 100%{ transform:translateX(-50%) rotate(45deg) scale(.9); opacity:.85; }
	50%{ transform:translateX(-50%) rotate(45deg) scale(1.08); opacity:1; }
}

/* Tablet + Mobile: horizontal scroll / swipe carousel */
@media (max-width: 1100px){
	.vicora-home-categories__capsule{
		width:min(980px, calc(100% - 34px));
		height:420px !important;
		min-height:420px;
		max-height:420px;
	}

	.vicora-home-categories__capsule::after{
		background:
			linear-gradient(90deg, rgba(255,230,164,.08), rgba(1,46,45,.10) 22%, rgba(255,230,164,.07) 50%, rgba(1,46,45,.10) 78%, rgba(255,230,164,.08));
		opacity:.2;
	}

	.vicora-home-categories__grid{
		display:flex;
		align-items:center;
		height:300px;
		gap:46px;
		padding:0 44px;
		overflow-x:auto;
		overflow-y:hidden;
		scroll-snap-type:x mandatory;
		scrollbar-width:none;
		-webkit-overflow-scrolling:touch;
	}
	.vicora-home-categories__grid::-webkit-scrollbar{ display:none; }

	.vicora-home-categories__item{
		scroll-snap-align:center;
		flex:0 0 auto;
	}
}

@media (max-width: 600px){
	.vicora-home-categories{
		padding:12px 0 0;
	}
	.vicora-home-categories__capsule{
		width:calc(100% - 24px);
		height:390px !important;
		min-height:390px;
		max-height:390px;
	}
	.vicora-home-categories__capsule::after{
		background:
			linear-gradient(90deg, rgba(255,230,164,.06), rgba(1,46,45,.14) 28%, rgba(255,230,164,.06) 50%, rgba(1,46,45,.14) 72%, rgba(255,230,164,.06));
		opacity:.16;
	}
	.vicora-home-categories__grid{
		height:280px;
		gap:34px;
		padding:0 26px;
	}
	.vicora-home-categories__label{
		font-size:30px;
	}
	.vicora-home-categories__imageWrap{
		width:150px;
		height:150px;
	}
	.vicora-home-categories__image{
		width:calc(100% - 6px);
		height:calc(100% - 6px);
	}
}

.vicora-home-categories__fade{
	position:absolute;
	top:0;
	bottom:0;
	width:70px;
	opacity:0;
	pointer-events:none;
	z-index:2;
	transition:opacity 220ms ease;
}
.vicora-home-categories__fade--left{
	left:0;
	background:linear-gradient(90deg, rgba(1,46,45,.98), rgba(1,46,45,0));
}
.vicora-home-categories__fade--right{
	right:0;
	background:linear-gradient(270deg, rgba(1,46,45,.98), rgba(1,46,45,0));
}

.vicora-home-categories__capsule[data-vicora-scrollable="1"] .vicora-home-categories__fade{
	opacity:1;
}
