/**
 * Simple Mega Menu – Frontend styles
 *
 * Body classes applied by the plugin:
 *   .smm-style-default  – minimal overrides, theme styles mostly win
 *   .smm-style-1        – clean light panel (forced good look)
 *   .smm-style-2        – modern bordered columns (forced good look)
 */

/* -------------------------------------------------
   Shared structural rules (all styles)
   ------------------------------------------------- */
@media (min-width: 768px) {
	.smm-mega-parent {
		position: relative;
	}

	.smm-mega-parent > ul.sub-menu,
	.smm-mega-parent > .sub-menu {
		min-width: var(--smm-mega-width, 720px);
		max-width: min(1100px, calc(100vw - 40px));
		display: none;
		grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
		z-index: 99999;
	}

	.smm-mega-parent:hover > ul.sub-menu,
	.smm-mega-parent:hover > .sub-menu,
	.smm-mega-parent:focus-within > ul.sub-menu,
	.smm-mega-parent:focus-within > .sub-menu {
		display: grid;
	}

	/* Elementor / page-builder compatibility */
	.elementor-widget-container .smm-mega-parent:hover > ul.sub-menu,
	.elementor-widget-container .smm-mega-parent:focus-within > ul.sub-menu {
		display: grid !important;
	}

	.smm-mega-parent > ul.sub-menu > li.smm-mega-column,
	.smm-mega-parent > .sub-menu > li.smm-mega-column {
		width: auto !important;
		display: block !important;
		float: none !important;
		position: relative !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	.smm-mega-parent > ul.sub-menu > li.smm-mega-column > a,
	.smm-mega-parent > .sub-menu > li.smm-mega-column > a {
		font-weight: 700;
		margin-bottom: 8px;
		padding: 0 0 8px 0 !important;
		display: block;
		white-space: normal;
		cursor: default;
		background: transparent !important;
	}

	.smm-mega-parent > ul.sub-menu > li.smm-hide-column-title > a,
	.smm-mega-parent > .sub-menu > li.smm-hide-column-title > a {
		display: none !important;
	}

	/* Nested sub-menu inside a column = just a list of links */
	.smm-mega-parent > ul.sub-menu > li.smm-mega-column > ul.sub-menu,
	.smm-mega-parent > .sub-menu > li.smm-mega-column > .sub-menu {
		position: static !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		box-shadow: none !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		float: none !important;
	}

	.smm-mega-parent li.smm-mega-link {
		display: block !important;
		width: auto !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	.smm-mega-parent li.smm-mega-link > a {
		display: block;
		padding: 6px 0 !important;
		white-space: normal;
		line-height: 1.4;
		background: transparent !important;
	}
}

/* -------------------------------------------------
   Style 1 – Clean light panel (recommended for most themes)
   Stronger overrides so it looks good on Twenty themes etc.
   ------------------------------------------------- */
@media (min-width: 768px) {
	body.smm-style-1 .smm-mega-parent > ul.sub-menu,
	body.smm-style-1 .smm-mega-parent > .sub-menu {
		padding: 28px 24px;
		gap: 8px 28px;
		background: #ffffff !important;
		box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12) !important;
		border: 1px solid #e5e7eb !important;
		border-radius: 8px !important;
		left: 0 !important;
		right: auto !important;
		top: 100% !important;
		margin-top: 0 !important;
	}

	body.smm-style-1 .smm-mega-parent > ul.sub-menu > li.smm-mega-column > a,
	body.smm-style-1 .smm-mega-parent > .sub-menu > li.smm-mega-column > a {
		font-size: 13px;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: #111827 !important;
		border-bottom: 1px solid #e5e7eb;
		padding-bottom: 10px !important;
		margin-bottom: 10px !important;
	}

	body.smm-style-1 .smm-mega-parent li.smm-mega-link > a {
		color: #374151 !important;
		font-weight: 400;
		font-size: 14px;
		padding: 5px 0 !important;
	}

	body.smm-style-1 .smm-mega-parent li.smm-mega-link > a:hover {
		color: #111827 !important;
		text-decoration: underline;
	}
}

/* -------------------------------------------------
   Style 2 – Modern soft card with subtle column separators
   ------------------------------------------------- */
@media (min-width: 768px) {
	body.smm-style-2 .smm-mega-parent > ul.sub-menu,
	body.smm-style-2 .smm-mega-parent > .sub-menu {
		padding: 0;
		gap: 0;
		background: #fafafa !important;
		box-shadow: 0 16px 48px rgba(0, 0, 0, 0.14) !important;
		border: 1px solid #e5e7eb !important;
		border-radius: 10px !important;
		overflow: hidden;
		left: 0 !important;
		right: auto !important;
		top: 100% !important;
		margin-top: 4px !important;
	}

	body.smm-style-2 .smm-mega-parent > ul.sub-menu > li.smm-mega-column,
	body.smm-style-2 .smm-mega-parent > .sub-menu > li.smm-mega-column {
		padding: 22px 20px !important;
		border-right: 1px solid #e5e7eb !important;
		background: #fff !important;
	}

	body.smm-style-2 .smm-mega-parent > ul.sub-menu > li.smm-mega-column:last-child,
	body.smm-style-2 .smm-mega-parent > .sub-menu > li.smm-mega-column:last-child {
		border-right: 0 !important;
	}

	body.smm-style-2 .smm-mega-parent > ul.sub-menu > li.smm-mega-column > a,
	body.smm-style-2 .smm-mega-parent > .sub-menu > li.smm-mega-column > a {
		font-size: 14px;
		font-weight: 600;
		color: #0f172a !important;
		border-bottom: none;
		padding-bottom: 6px !important;
		margin-bottom: 6px !important;
	}

	body.smm-style-2 .smm-mega-parent li.smm-mega-link > a {
		color: #475569 !important;
		font-size: 14px;
		padding: 6px 0 !important;
		border-radius: 4px;
	}

	body.smm-style-2 .smm-mega-parent li.smm-mega-link > a:hover {
		color: #0f172a !important;
		background: #f1f5f9 !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
}

/* -------------------------------------------------
   Default style – only structural rules above.
   Theme CSS controls colors, fonts, shadows, etc.
   ------------------------------------------------- */

/* -------------------------------------------------
   Mobile (all styles)
   ------------------------------------------------- */
@media (max-width: 767px) {
	.smm-mega-parent > .sub-menu,
	.smm-mega-parent > ul.sub-menu {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		display: none;
		grid-template-columns: 1fr;
	}

	.smm-mega-parent .smm-hide-column-title > a,
	.smm-mega-parent .smm-hide-column-title > span,
	.smm-mega-parent .smm-hide-column-title > button,
	.smm-mega-parent .smm-hide-column-title > .sub-arrow,
	.smm-mega-parent .smm-hide-column-title > .dropdown-toggle {
		display: none !important;
	}

	.smm-mega-parent .smm-hide-column-title {
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
	}

	.smm-mega-parent .smm-hide-column-title > ul.sub-menu,
	.smm-mega-parent .smm-hide-column-title > .sub-menu {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		max-height: none !important;
		position: static !important;
		transform: none !important;
		box-shadow: none !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.smm-mega-parent .smm-hide-column-title > ul.sub-menu > li,
	.smm-mega-parent .smm-hide-column-title > .sub-menu > li {
		display: block !important;
	}
}
