/* =========================================================
   AKOIRAH MEGA MENU
   Structure:
     .akoirah-megamenu  (flex row)
       .akm-left  (white block) — top bar + body (cats + middle)
       .akm-right (rose-tinted) — sublist + hero
   ========================================================= */
.ekit-wid-con .ekit_sidebar-textwidget {
	padding: 0 !important;
}

.ekit-sidebar-widget .e-con>.e-con-inner {
	max-width: 100% !important;
	padding: 0px !important;
}

.ekit-wid-con .ekit-sidebar-group .ekit_widget-heading {
	display: none;
}

.ekit-wid-con .ekit_close-side-widget {
	position: relative;
	box-shadow: none !important;
	border: none !important;
	top: 0;
	right: 0;
}

.ekit-wid-con .ekit_close-side-widget:hover {
	background: #FFF !important;
}

.ekit-widget-area-container>.elementor>.e-con-boxed {
	padding-inline-end: 0px !important;
	padding-inline-start: 0px !important;
}

.ekit-wid-con .ekit_close-side-widget svg {
	width: 24px !important;
	height: 24px !important;
	max-width: 24px !important;
}

/* =========================================================
   AKOIRAH MEGA MENU
   Structure:
     .akoirah-megamenu  (flex row)
       .akm-left  (white block) — top bar + body (cats + middle)
       .akm-right (rose-tinted) — sublist + hero
   ========================================================= */

:root {
	--akm-bg: #ffffff;
	--akm-text: #2A2A2A;
	--akm-muted: #6b6b6b;
	--akm-line: #E5E5E5;
	--akm-accent: #420F08;
	--akm-accent-soft: #FFF7F5;
	--akm-rose: #FFF7F5;
	--akm-radius: 8px;
	--akm-font: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	/* Left categories list width */
	--akm-cats-w: 220px;

	/* Right block child widths (fixed) */
	--akm-sublist-w: 240px;
	--akm-hero-w: 400px;

	/* Occasion thumbnail size (fixed; never stretches) */
	--akm-occ-w: 108px;
}

/* ---------- root container ---------- */
.akoirah-megamenu {
	display: flex;
	flex-direction: row;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	background: var(--akm-bg);
	color: var(--akm-text);
	font-family: var(--akm-font);
	font-size: 14px;
	line-height: 1.4;
	box-sizing: border-box;
	overflow: hidden;
	min-height: 600px;
	height: 100vh;
}

.akoirah-megamenu * {
	box-sizing: border-box
}

.akoirah-megamenu ul {
	list-style: none;
	margin: 0;
	padding: 0
}

.akoirah-megamenu a {
	color: inherit;
	text-decoration: none;
	transition: color .2s ease
}

/* Inline mobile sub-lists hidden on desktop */
.akm-cat__sublist {
	display: none
}

/* =========================================================
   LEFT BLOCK — white background
   Grows to fill whatever space the right block doesn't claim.
   When right block has no sublist, left automatically gets wider.
   ========================================================= */
.akm-left {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	background: var(--akm-bg);
	overflow: hidden auto;
	--sb-track-color: #e5e5e5;
	--sb-thumb-color: #d47a6a;
	--sb-size: 4px;
}

.akm-left::-webkit-scrollbar {
	width: var(--sb-size)
}

.akm-left::-webkit-scrollbar-track {
	background: var(--sb-track-color);
	border-radius: 4px;
}

.akm-left::-webkit-scrollbar-thumb {
	background: var(--sb-thumb-color);
	border-radius: 4px;

}

@supports not selector(::-webkit-scrollbar) {
	body {
		scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
	}
}

/* ---------- TOP BAR inside left block ---------- */
.akm-topbar {
	display: flex;
	flex-direction: column;
	padding: 36px 48px 0;
}

.akm-topbar__row--logo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 45px;
}

.akm-topbar__row--logo .akm-logo {
	width: 112px;
}

.akm-logo {
	display: inline-flex;
	align-items: center
}

.akm-logo img {
	display: block;
	max-height: 56px;
	width: auto
}

.akm-logo__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1
}

.akm-logo__name {
	font-weight: 700;
	color: var(--akm-accent);
	font-size: 32px;
	letter-spacing: 4px;
	font-family: "Cormorant Garamond", "Playfair Display", serif;
}

.akm-logo__sub {
	font-size: 9px;
	letter-spacing: 3px;
	color: var(--akm-muted);
	font-weight: 500;
	margin-top: 6px;
	text-transform: uppercase;
}

.akm-close {
	background: transparent;
	border: 0;
	cursor: pointer;
	color: var(--akm-text);
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.akm-close:hover {
	color: var(--akm-accent)
}

.akm-topnav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 12px;
	border-bottom: 1px solid #E5E5E5;
}

.akm-topnav a {
	/* font-size: 15px; */
	color: var(--akm-muted);
	/* padding: 4px 0; */
	transition: color .2s ease
}

.akm-topnav a.is-active {
	font-weight: 600;
	color: var(--akm-accent)
}

.akm-topnav a:hover {
	color: var(--akm-accent)
}

/* ---------- BODY (cats + middle, side by side inside left block) ---------- */
.akm-body {
	display: flex;
	flex-direction: row;
	flex: 1 0 auto;
	min-height: 0;
}

.akm-sublist-col .akm-sub__title,
.akm-heading {
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #2A2A2A;
	margin: 0 0 12px;
	letter-spacing: 0;
	font-family: 'Belleza' !important;
	text-transform: unset !important;
}

/* Categories column */
.akm-cats-col {
	width: var(--akm-cats-w);
	flex: 0 0 var(--akm-cats-w);
	padding: 36px 12px 36px 48px;
	position: relative;
	z-index: 1;
}

.akm-cats-col:after {
	content: '';
	position: absolute;
	inset: 36px 0 36px auto;
	border-right: 1px solid #E5E5E5;
}

.akm-cats {
	display: flex;
	flex-direction: column;
	gap: 4px
}

.akm-cat a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px;
	border-radius: var(--akm-radius);
	font-size: 14px;
	color: #420F08;
}

.akm-cat__ico {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f6f6f6;
	overflow: hidden;
}

.akm-cat.is-active>a .akm-cat__ico {
	background-color: transparent;
}

.akm-cat__ico img {
	width: 95%;
	height: 95%;
	object-fit: contain;
	display: block
}

.akm-cat:hover>a,
.akm-cat.is-active>a {
	background: var(--akm-accent-soft)
}

.akm-cat.is-active>a {
	/* font-weight: 600; */
}

/* Middle column — flex-grows naturally inside .akm-left */
.akm-mid-col {
	flex: 1 1 auto;
	min-width: 0;
	padding: 36px 48px 36px 24px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.akm-occasions {
	display: grid;
	grid-template-columns: repeat(auto-fill, var(--akm-occ-w));
	gap: 12px;
}

.akm-occasions a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
	width: 100%;
	padding: 4px 4px 8px;
	
	border-radius: 4px;
	border: 1px solid #E5E5E5;
}
.akm-occasions a:hover{
    box-shadow: 0 4px 6px 0 #CEA09942;
}
.akm-occ__img {
	width: 100%;
	/* height: var(--akm-occ-w); */
	border-radius: 3px;
	overflow: hidden;
	background: #222;
	position: relative;
	z-index: 1;
	display: block;
}

.akm-occ__img:before {
	content: '';
	position: relative;
	display: block;
	padding-top: 100%;
	width: 100%;
}

.akm-occ__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
	position: absolute;
	inset: 0;
}

.akm-occasions a:hover img {
	transform: scale(1.05)
}

.akm-occ__label {
	font-size: 12px;
	color: var(--akm-text)
}

.akm-mid-bottom {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	padding-top: 24px;
	border-top: 1px solid #E5E5E5;
	max-width: 100%;
	margin-top: 26px;
}

.akm-flist a {
	display: block;
	padding: 6px 6px;
	border-radius: 6px;
	font-size: 13px;
	color: var(--akm-muted);
}

.akm-flist a:hover {
	color: var(--akm-text);
	background: var(--akm-accent-soft)
}

/* =========================================================
   RIGHT BLOCK — rose-tinted area
   Width is dictated by visible children:
     - with sublist:    sublist (240px) + hero (400px)
     - without sublist: hero (400px) only
   .akm-left absorbs the difference automatically.
   ========================================================= */
.akm-right {
	flex: 0 0 auto;
	display: flex;
	flex-direction: row;
	background: var(--akm-rose);
	/* border-left: 3px solid var(--akm-accent); */
}

/* When no category has a sublist active, hide the sublist column
   (right block then sizes to just the 400px hero). */
.akoirah-megamenu:not(.has-sublist) .akm-sublist-col {
	display: none
}

/* Sub-list column — fixed width */
.akm-sublist-col {
	flex: 0 0 var(--akm-sublist-w);
	width: var(--akm-sublist-w);
	padding: 28px 24px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.akm-sub {
	display: none
}

.akm-sub.is-active {
	display: block;
	animation: akmFade .2s ease
}

@keyframes akmFade {
	from {
		opacity: 0;
		transform: translateY(4px)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.akm-sub__title {
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 18px;
	color: var(--akm-muted)
}

.akm-sublist {
	display: flex;
	flex-direction: column;
	gap: 10px
}

.akm-sublist-col .akm-sublist {
	margin-top: 24px;
}

.akm-sublist-col .akm-sublist a {
	font-size: 16px;
	padding: 0;
	font-weight: 400 !important;
	color: #666666;
	transition: color 0.2s ease;
}

.akm-sublist-col .akm-sublist a:hover {
	color: #420F08;
}

.akm-sublist a:hover {
	color: var(--akm-accent);
	font-weight: 600
}

/* Hero column — FIXED width, stretches to FULL height of the menu */
.akm-hero-col {
	flex: 0 0 var(--akm-hero-w);
	width: var(--akm-hero-w);
	min-width: 0;
	position: relative;
	/* anchor for absolutely-positioned heroes */
	background: #000;
	align-self: stretch;
	/* fill full menu height */
	overflow: hidden;
}

/* All heroes are absolutely positioned to fill the column.
   Inactive ones are display:none; the active one is display:block. */
.akm-hero {
	display: none;
	position: absolute;
	inset: 0;
	/* top:0; right:0; bottom:0; left:0 */
	overflow: hidden;
}

.akm-hero.is-active {
	display: block;
	animation: akmFade .2s ease
}

.akm-hero img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	/* override theme rules */
	height: 100% !important;
	/* override theme img{height:auto} */
	max-width: none !important;
	object-fit: cover;
	transition: transform .5s ease;
	display: block;
}

.akm-hero:hover img {
	transform: scale(1.04)
}

.akm-hero__overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 24px 24px 50px;
	color: #fff;
	background: linear-gradient(to top, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, 0) 70%);
	z-index: 1;
}

.akm-hero__overlay h3 {
	font-size: 36px;
	font-weight: 400;
	text-transform: unset;
	line-height: 1.15;
	margin-block: 0 40px;
}

.akm-hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px
}

.akm-hero__overlay .akm-hero__cta {
	font-size: 18px;
	font-weight: 400;
}

.akm-hero__overlay .akm-hero__cta svg {
	width: 24px;
	height: 24px;
	margin-bottom: -3px;
}

/* =========================================================
   Hover wrapper (Method B only; remove block when using
   Elementor Pro's Mega Menu)
   ========================================================= */
.akm-trigger .akoirah-megamenu {
	display: none
}

.akm-trigger:hover .akoirah-megamenu,
.akm-trigger.is-open .akoirah-megamenu,
.akoirah-megamenu:hover {
	display: flex
}

.akm-cats-col .akm-cats .akm-cat>a {
	color: #666666;
	transition: all .2s ease;
}

.akm-cats-col .akm-cats .akm-cat.is-active>a {
	color: #420F08;
}

/* =========================================================
   RESPONSIVE — TABLET (768–1023px)
   ========================================================= */
@media (max-width: 1280px) {
	.akm-occasions {
		grid-template-columns: repeat(3, 1fr);
	}

	.akm-right {
		flex-direction: column;
	}

	aside.akm-sublist-col,
	.akm-hero-col {
		flex: 1 0 0;
	}

	aside.akm-sublist-col {
		width: 100%;
	}
}

@media (max-width:1023px) and (min-width:768px) {
	:root {
		--akm-cats-w: 170px;
		--akm-hero-w: 280px;
		--akm-sublist-w: 200px;
	}

	.akm-topbar {
		padding: 18px 24px 0
	}

	.akm-logo__name {
		font-size: 24px;
		letter-spacing: 3px
	}

	.akm-logo__sub {
		font-size: 8px
	}

	.akm-topnav a {
		font-size: 13px
	}

	/* Tablet: hide sublist entirely; right block is just the hero */
	.akm-sublist-col {
		display: none !important
	}

	.akm-cats-col {
		padding: 24px 12px 24px 24px
	}

	.akm-cat a {
		font-size: 13px;
		padding: 6px 10px
	}

	.akm-cat__ico {
		width: 28px;
		height: 28px;
		flex-basis: 28px
	}

	.akm-mid-col {
		padding: 24px 20px;
		/* gap: 20px */
	}

	.akm-occ__label {
		font-size: 11px
	}

	.akm-mid-bottom {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        margin-top: 23px;
        padding-top: 19px;
    }

	.akm-hero__overlay {
		padding: 18px
	}

	.akm-hero__overlay h3 {
        font-size: 22px;
        margin-block: 0 20px;
    }

	.akm-topbar__row--logo {
		margin-bottom: 25px;
	}

	.akm-occasions {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================================
   RESPONSIVE — MOBILE (<768px)
   ========================================================= */
@media (max-width:767px) {
	.akoirah-megamenu {
		flex-direction: column;
		max-height: calc(100vh - 60px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		min-height: 0;
	}

	.akm-right {
		display: none
	}

	.akm-left {
		flex: 1 1 auto
	}

	.akm-topbar {
		padding: 14px 16px 0
	}

	.akm-topbar__row--logo {
		margin-bottom: 14px
	}

	.akm-logo__name {
		font-size: 22px;
		letter-spacing: 2px
	}

	.akm-logo__sub {
		font-size: 8px;
		margin-top: 4px
	}

	.akm-topnav {
		padding: 0 0 12px;
		gap: 18px;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.akm-topnav::-webkit-scrollbar {
		display: none
	}

	.akm-topnav a {
		font-size: 14px;
		flex: 0 0 auto
	}

	.akm-body {
		flex-direction: column
	}

	.akm-mid-col {
		display: none !important
	}

	.akm-cats-col {
		width: 100%;
		flex: 0 0 auto;
		padding: 8px 0;
	}

	.akm-cats-col>.akm-heading {
		padding: 0 20px;
		color: var(--akm-muted);
		font-size: 11px;
		text-transform: uppercase;
		letter-spacing: 1px;
		margin-bottom: 8px;
	}

	.akm-cats {
		display: flex;
		flex-direction: column;
		gap: 0
	}

	.akm-cat {
		border-bottom: 1px solid var(--akm-line);
		position: relative;
	}

	.akm-cat:last-child {
		border-bottom: 0
	}

	.akm-cat>a {
		padding: 16px 20px;
		border-radius: 0;
		font-size: 15px;
		font-weight: 500;
		background: transparent !important;
	}

	.akm-cat__ico {
		width: 32px;
		height: 32px;
		flex-basis: 32px
	}

	.akm-cat__ico img {
		width: 20px;
		height: 20px
	}

	.akm-cat__label {
		flex: 1
	}

	/* Chevron for categories with sub-items */
	.akm-cat[data-target="rings"]>a::after,
	.akm-cat[data-target="pendants"]>a::after,
	.akm-cat[data-target="earrings"]>a::after,
	.akm-cat[data-target="bracelets"]>a::after,
	.akm-cat[data-target="necklaces"]>a::after,
	.akm-cat[data-target="mangalsutra"]>a::after,
	.akm-cat[data-target="bangles"]>a::after,
	.akm-cat[data-target="nosepins"]>a::after {
		content: "";
		width: 10px;
		height: 10px;
		border-right: 2px solid var(--akm-muted);
		border-bottom: 2px solid var(--akm-muted);
		transform: rotate(-45deg);
		transition: transform .25s ease;
		margin-left: auto;
	}

	.akm-cat.is-expanded>a::after {
		transform: rotate(45deg)
	}

	/* Single arrow for hero-only categories */
	.akm-cat[data-target="all"]>a::after,
	.akm-cat[data-target="brooches"]>a::after,
	.akm-cat[data-target="cufflinks"]>a::after {
		content: "›";
		font-size: 22px;
		color: var(--akm-muted);
		font-weight: 300;
		margin-left: auto;
		line-height: 1;
	}

	.akm-cat__sublist {
		display: none;
		background: #fafafa;
		border-top: 1px solid var(--akm-line);
		padding: 4px 0;
	}

	.akm-cat.is-expanded .akm-cat__sublist {
		display: block;
		animation: akmFade .2s ease;
	}

	.akm-cat__sublist a {
		display: block;
		padding: 12px 20px 12px 64px;
		font-size: 14px;
		color: var(--akm-text);
		border-bottom: 1px solid #f0f0f0;
	}

	.akm-cat__sublist a:last-child {
		border-bottom: 0
	}

	.akm-cat__sublist a:hover,
	.akm-cat__sublist a:focus {
		color: var(--akm-accent)
	}
}

@media (max-width:420px) {
	.akm-logo__name {
		font-size: 20px
	}

	.akm-cat>a {
		padding: 14px 16px;
		font-size: 14px
	}

	.akm-cat__sublist a {
		padding-left: 60px;
		font-size: 13px
	}
}