/* ---------------------------------
   Global Animations
--------------------------------- */

.mega-menu-wrapper {
	transition: opacity var(--pomega-animation-speed) ease,
				visibility 0s linear var(--pomega-animation-speed);
}

/* ---------------------------------
   INNER FADE FIX (prevents close glitch)
--------------------------------- */

.mega-menu-wrapper-inner {
	opacity: 0;
	transition: opacity var(--pomega-animation-speed) ease,
				transform var(--pomega-animation-speed) ease;
}

.mega-menu-wrapper.is-open .mega-menu-wrapper-inner {
	opacity: 1;
}

ul.mega-submenu li a,
.pomega-link-block-link,
.pomega-link-text,
.pomega-link-icon i,
a.mega-menu-image-link .pomega-image-caption span,
.pomega-sub-text {
	transition: all var(--pomega-animation-speed) ease;
}



.pomega-has-chevron > a::after{
	content:"\f078";
	font-family:"Font Awesome 6 Free";
	font-weight:900;
	margin-left:6px;
	font-size:12px;
	display:inline-block;
	transition:transform var(--pomega-animation-speed) ease;
}

.pomega-has-chevron:hover > a::after{
	transform:rotate(-180deg);
}


/* ---------------------------------
   Global / Container
--------------------------------- */

.mega-menu-panel {
	display: none;
}

.mega-menu-panel.active {
	display: block;
}

.mega-container {
	position: relative;
}

.mega-menu-wrapper {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;

	padding: var(--pomega-outer-padding-tb) var(--pomega-outer-padding-lr) 0;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition: opacity var(--pomega-animation-speed) ease,
				visibility 0s linear var(--pomega-animation-speed);

	z-index: 2000;
}

.mega-menu-wrapper.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	transition: opacity var(--pomega-animation-speed) ease,
				visibility 0s linear 0s;
}

.mega-menu-wrapper-inner {
	background: var(--pomega-bg);
	border-radius: var(--pomega-border-radius);
	padding: var(--pomega-inner-padding);
}

/* Fade only */

body.pomega-anim-fade .mega-menu-wrapper-inner{
	transform:none;
}


/* Fade Up */

body.pomega-anim-fade-up .mega-menu-wrapper-inner {
	transform: translateY(10px);
}

body.pomega-anim-fade-up .mega-menu-wrapper.is-open .mega-menu-wrapper-inner {
	transform: translateY(0);
}



/* ---------------------------------
   Columns
--------------------------------- */

.mega-menu-columns {
	display: flex;
	gap: var(--pomega-inner-padding);
	align-items: flex-start;
}

.mega-menu-column {
	flex: 1;
	min-width: 0;
}

.mega-menu-column.flex-1 { flex: 1; }
.mega-menu-column.flex-2 { flex: 2; }
.mega-menu-column.flex-3 { flex: 3; }

.mega-menu-row {
	padding-bottom: var(--pomega-inner-padding);
}

.mega-menu-row:last-child {
	padding-bottom: 0;
}


/* ---------------------------------
   Column Titles
--------------------------------- */

.mega-menu-wrapper h3 {
	margin: 0;
}

.mega-menu-row-title {
	margin: 0 0 var(--pomega-inner-padding);

	font-size: var(--pomega-column-title-size);
	font-weight: var(--pomega-column-title-weight);
	color: var(--pomega-column-title-colour);
}


/* ---------------------------------
   Menu Styling
--------------------------------- */

.pomega-menu {
	font-size: var(--pomega-font-size);
	letter-spacing: var(--pomega-letter-spacing);
}

.pomega-menu-list {
	margin: 0;
}

ul.mega-submenu li {
	padding-bottom: var(--pomega-menu-gap);
}

ul.mega-submenu li:last-child {
	padding-bottom: 0;
}

ul.mega-submenu li a {
	color: var(--pomega-menu-colour);
	font-weight: var(--pomega-font-weight);
}

ul.mega-submenu li a:hover {
	color: var(--pomega-menu-rollover);
}


/* ---------------------------------
   Image Styling
--------------------------------- */

.mega-menu-image-wrapper,
.pomega-image.text-absolute,
.pomega-relative-image {
	position: relative;
	overflow: hidden;
	border-radius: var(--pomega-image-radius);
}

.mega-menu-image-wrapper img,
.pomega-image img {
	width: 100%;
	display: block;
	line-height: 0;
}

.pomega-image-overlay {
	position: absolute;
	inset: 0;
	background: var(--pomega-image-overlay);
}

.mega-menu-image-link {
	position: relative;
	display: block;
}


/* ---------------------------------
   Inset Text (Absolute Layout)
--------------------------------- */

.pomega-absolute {
	position: absolute;
	inset: 0;
}

.pomega-table {
	display: table;
	width: 100%;
	height: 100%;
}

.pomega-cell {
	display: table-cell;
}

.inset-middle { vertical-align: middle; }
.inset-bottom { vertical-align: bottom; }

.pomega-cell-content {
	padding: var(--pomega-inner-padding);
}

.pomega-cell-content span {
	font-size: var(--pomega-inset-text-font-size);
	text-transform: var(--pomega-inset-text-font-style);
	font-weight: var(--pomega-inset-text-font-weight);
	color: var(--pomega-inset-text-colour);
}


/* ---------------------------------
   Under Text (Caption Layout)
--------------------------------- */

.pomega-image-caption {
	margin-top: calc(var(--pomega-inner-padding) / 2);
}

.pomega-image-caption span {
	font-size: var(--pomega-under-text-font-size);
	text-transform: var(--pomega-under-text-font-style);
	font-weight: var(--pomega-under-text-font-weight);
	color: var(--pomega-under-text-colour);
}

a.mega-menu-image-link:hover .pomega-image-caption span {
	color: var(--pomega-under-text-rollover-colour);
}


/* ---------------------------------
   Link Styling
--------------------------------- */

.pomega-link {
	display: inline-block;
	background: var(--pomega-link-bg);
	border-radius: var(--pomega-link-radius);
	padding: var(--pomega-link-padding);
	text-decoration: none;
}


/* ---------------------------------
   Link Block
--------------------------------- */

.pomega-link-block-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	width: 100%;

	background: var(--pomega-link-bg);
	border-radius: var(--pomega-link-radius);
	padding: var(--pomega-link-padding);

	text-decoration: none;
	text-align: var(--pomega-link-alignment);
	justify-content: var(--pomega-link-alignment);
}

.pomega-link-block-link:hover {
	background: var(--pomega-link-bg-rollover);
}


/* Link Text */

.pomega-link-text {
	font-size: var(--pomega-link-text-size);
	font-style: var(--pomega-link-text-style);
	font-weight: var(--pomega-link-text-weight);
	color: var(--pomega-link-text-colour);
}

.pomega-link-block-link:hover .pomega-link-text {
	color: var(--pomega-link-text-rollover);
}


/* Icon Layout */

.pomega-link-block-link.icon-beside {
	gap: 6px;
	flex-wrap: wrap;
}

.pomega-link-block-link.icon-above {
	flex-direction: column;
	align-items: center;
	gap: 0;
}

.pomega-link-icon i {
	font-size: var(--pomega-link-icon-size);
	color: var(--pomega-link-icon-colour);
}

.pomega-link-block-link:hover .pomega-link-icon i {
	color: var(--pomega-link-icon-rollover-colour);
}

.pomega-link-block-link.icon-above .pomega-link-icon {
	margin-bottom: calc(var(--pomega-inner-padding) / 2);
}

.pomega-link-block-link.icon-beside .pomega-link-icon {
	margin-left: calc(var(--pomega-inner-padding) / 2);
}


/* ---------------------------------
   Sub Text
--------------------------------- */

.pomega-sub-text {
	width: 100%;
	display: block;

	font-size: var(--pomega-sub-text-size);
	color: var(--pomega-sub-text-colour);
	text-align: var(--pomega-sub-text-alignment);
}

a.pomega-link-block-link:hover .pomega-sub-text {
	color: var(--pomega-sub-text-rollover-colour);
}