.dkmm {
	--dkmm-duration: 220ms;
	--dkmm-text: #111111;
	--dkmm-muted: #62656B;
	--dkmm-border: #E2E3E6;
	--dkmm-surface: #FFFFFF;
	--dkmm-accent: #F87940;
	--dkmm-shadow: 0 18px 60px rgba(17,17,17,.12);
	--dkmm-panel-gap: 8px;
	--dkmm-fw-inset-left: 0px;
	--dkmm-fw-inset-right: 0px;
	--dkmm-fw-extra-offset: 0px;
	--dkmm-content-column-width: 260px;
	--dkmm-content-column-min: 180px;
	--dkmm-content-column-max: 380px;
	--dkmm-dept-min-height: 260px;
	position: relative;
	width: 100%;
	z-index: 30;
}

.dkmm *, .dkmm *::before, .dkmm *::after { box-sizing: border-box; }
.dkmm ul { list-style: none; margin: 0; padding: 0; }
.dkmm a { text-decoration: none; }
.dkmm button { font: inherit; }
.dkmm .screen-reader-text {
	position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important;
	overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}

.dkmm-nav { position: relative; }
.dkmm-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.dkmm-item { position: relative; margin: 0; }
.dkmm-menu > .dkmm-item { display: flex; align-items: center; }
.dkmm-link { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--dkmm-text); transition: color var(--dkmm-duration) ease, background-color var(--dkmm-duration) ease; }
.dkmm-link__content { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; }
.dkmm-link__title { min-width: 0; }
.dkmm-link__description { display: block; flex-basis: 100%; color: var(--dkmm-muted); font-size: .875em; line-height: 1.45; font-weight: 400; }
.dkmm-badge { display: inline-flex; align-items: center; min-height: 20px; padding: 2px 7px; border-radius: 999px; background: color-mix(in srgb, var(--dkmm-accent) 12%, white); color: var(--dkmm-accent); font-size: 10px; line-height: 1; font-weight: 750; letter-spacing: .02em; }
.dkmm-item--highlight > .dkmm-link { color: var(--dkmm-accent); }

.dkmm-submenu-toggle {
	display: inline-grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; margin-left: -7px; padding: 0;
	border: 0; border-radius: 8px; background: transparent; color: currentColor; cursor: pointer;
}
.dkmm-submenu-toggle:hover, .dkmm-submenu-toggle:focus-visible { background: rgba(17,17,17,.05); outline: none; }
.dkmm-chevron { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform var(--dkmm-duration) ease; }
.dkmm-item.is-open > .dkmm-submenu-toggle .dkmm-chevron { transform: rotate(225deg) translate(-1px,-1px); }

.dkmm-submenu {
	position: absolute; top: calc(100% + var(--dkmm-panel-gap, 8px)); left: 0; z-index: 60; min-width: 230px; max-width: min(360px, 90vw); padding: 10px;
	border: 1px solid var(--dkmm-border); border-radius: 12px; background: var(--dkmm-surface); box-shadow: var(--dkmm-shadow);
	opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px);
	transition: opacity var(--dkmm-duration) ease, transform var(--dkmm-duration) ease, visibility var(--dkmm-duration) step-end;
}
.dkmm-submenu .dkmm-item { width: 100%; }
.dkmm-submenu .dkmm-link { width: 100%; padding: 9px 10px; border-radius: 8px; }
.dkmm-submenu .dkmm-link:hover { background: rgba(17,17,17,.035); }
.dkmm-submenu .dkmm-submenu { top: -10px; left: calc(100% + 8px); }
.dkmm-item.is-open > .dkmm-submenu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }

.dkmm-panel {
	position: absolute; top: calc(100% + var(--dkmm-panel-gap, 8px)); left: 0; z-index: 80; width: min(1120px, 92vw); max-height: min(76vh, 820px); overflow: auto;
	border: 1px solid var(--dkmm-border); border-radius: 14px; background: var(--dkmm-surface); box-shadow: var(--dkmm-shadow);
	opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(10px);
	transition: opacity var(--dkmm-duration) ease, transform var(--dkmm-duration) ease, visibility var(--dkmm-duration) step-end;
}
.dkmm-animation--none .dkmm-panel, .dkmm-animation--none .dkmm-submenu { transition: none; }
.dkmm-animation--fade .dkmm-panel, .dkmm-animation--fade .dkmm-submenu { transform: none; }
.dkmm-item.is-open > .dkmm-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }

.dkmm-panel--fullwidth { position: fixed; left: 0; width: 100vw; max-height: calc(100vh - var(--dkmm-panel-top, 0px)); border-left: 0; border-right: 0; border-radius: 0; }
.dkmm-panel--fullscreen { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-height: 100vh; border: 0; border-radius: 0; }
.dkmm-panel--fullscreen .dkmm-panel__shell { min-height: 100%; }
.dkeb-fw-content-align-left .dkmm-panel--fullwidth .dkmm-panel__shell { margin-left: 0; margin-right: auto; }
.dkeb-fw-content-align-center .dkmm-panel--fullwidth .dkmm-panel__shell { margin-left: auto; margin-right: auto; }
.dkeb-fw-content-align-right .dkmm-panel--fullwidth .dkmm-panel__shell { margin-left: auto; margin-right: 0; }
.dkeb-fs-content-align-left .dkmm-panel--fullscreen .dkmm-panel__shell { margin-left: 0; margin-right: auto; }
.dkeb-fs-content-align-center .dkmm-panel--fullscreen .dkmm-panel__shell { margin-left: auto; margin-right: auto; }
.dkeb-fs-content-align-right .dkmm-panel--fullscreen .dkmm-panel__shell { margin-left: auto; margin-right: 0; }
.dkmm-panel__shell { position: relative; z-index: 1; display: flex; gap: 26px; width: 100%; max-width: 1320px; min-height: 100%; margin: 0 auto; padding: 28px; }
.dkmm-panel__main { flex: 1 1 auto; min-width: 0; }
.dkmm-panel--image-background::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(255,255,255,.97), rgba(255,255,255,.82)), var(--dkmm-panel-image); background-size: cover; background-position: center; }
.dkmm-panel__media { flex: 0 0 min(30%, 360px); min-width: 220px; }
.dkmm-panel__media-frame { position: relative; height: 100%; min-height: 220px; overflow: hidden; background: #F7F7F8; }
.dkmm-panel__media-frame img { display: block; width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.dkmm-panel__media-label { position: absolute; left: 16px; bottom: 16px; max-width: calc(100% - 32px); padding: 7px 10px; border-radius: 8px; background: rgba(17,17,17,.72); color: white; font-size: 12px; font-weight: 700; backdrop-filter: blur(7px); }
.dkmm-panel__close { position: absolute; top: 18px; right: 18px; z-index: 4; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--dkmm-border); border-radius: 50%; background: white; color: #111; font-size: 28px; line-height: 1; cursor: pointer; }
.dkmm-panel__close:hover, .dkmm-panel__close:focus-visible { border-color: var(--dkmm-accent); outline: none; }

.dkmm-mega-grid { display: grid; grid-template-columns: repeat(var(--dkmm-columns, 4), minmax(0,1fr)); gap: 24px; }
.dkmm-mega-grid--auto { grid-template-columns: repeat(auto-fit, minmax(min(210px,100%), 1fr)); }
.dkmm-column { grid-column: span var(--dkmm-column-span, 1); min-width: 0; }
.dkmm-column > .dkmm-link { width: 100%; align-items: flex-start; padding: 0 0 11px; font-weight: 700; }
.dkmm-column > .dkmm-link:hover { color: var(--dkmm-accent); }
.dkmm-column > .dkmm-submenu { position: static; display: flex; flex-direction: column; gap: 2px; min-width: 0; max-width: none; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.dkmm-column > .dkmm-submenu .dkmm-link { padding: 7px 0; background: transparent; }
.dkmm-column > .dkmm-submenu .dkmm-submenu { position: static; display: block; margin-left: 12px; opacity: 1; visibility: visible; pointer-events: auto; transform: none; border: 0; box-shadow: none; }
.dkmm-link__image { display: block; flex-basis: 100%; width: 100%; aspect-ratio: 16 / 10; margin-bottom: 4px; overflow: hidden; background: #F7F7F8; }
.dkmm-link__image img { display: block; width: 100%; height: 100%; object-fit: cover; }

.dkmm-toggle { display: none; align-items: center; justify-content: center; gap: 9px; min-height: 42px; padding: 8px 12px; border: 1px solid var(--dkmm-border); border-radius: 10px; background: white; color: #111; cursor: pointer; }
.dkmm-toggle__icon { display: flex; flex-direction: column; width: 18px; gap: 4px; }
.dkmm-toggle__icon span { width: 100%; height: 1.5px; border-radius: 2px; background: currentColor; transition: transform var(--dkmm-duration) ease, opacity var(--dkmm-duration) ease; }
.dkmm--nav-open .dkmm-toggle__icon span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.dkmm--nav-open .dkmm-toggle__icon span:nth-child(2) { opacity: 0; }
.dkmm--nav-open .dkmm-toggle__icon span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
.dkmm-backdrop { display: none; position: fixed; inset: 0; z-index: 89; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(17,17,17,.42); backdrop-filter: blur(3px); cursor: pointer; }
body.dkmm-scroll-lock { overflow: hidden; }

.dkmm--mobile { z-index: 100; }
.dkmm--mobile .dkmm-toggle { display: inline-flex; }
.dkmm--mobile .dkmm-nav { display: none; width: 100%; }
.dkmm--mobile.dkmm--nav-open .dkmm-nav { display: block; }
.dkmm--mobile .dkmm-menu { flex-direction: column; align-items: stretch; flex-wrap: nowrap; width: 100%; gap: 2px; }
.dkmm--mobile .dkmm-menu > .dkmm-item { display: grid; grid-template-columns: 1fr auto; width: 100%; }
.dkmm--mobile .dkmm-menu > .dkmm-item > .dkmm-link { min-height: 44px; padding: 10px 4px; }
.dkmm--mobile .dkmm-menu > .dkmm-item > .dkmm-submenu-toggle { width: 42px; height: 42px; margin: 0; }
.dkmm--mobile .dkmm-submenu,
.dkmm--mobile .dkmm-panel { position: static!important; inset: auto!important; grid-column: 1 / -1; display: none; width: 100%!important; max-width: none!important; max-height: none!important; margin: 0; padding: 6px 0 8px; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none!important; transition: none; }
.dkmm--mobile .dkmm-item.is-open > .dkmm-submenu,
.dkmm--mobile .dkmm-item.is-open > .dkmm-panel { display: block; }
.dkmm--mobile .dkmm-panel__shell { display: block; max-width: none!important; padding: 10px 0; }
.dkmm--mobile .dkmm-panel__main { width: 100%; }
.dkmm--mobile .dkmm-panel__media { min-width: 0; margin-top: 12px; }
.dkmm--mobile .dkmm-panel__media-frame { min-height: 180px; }
.dkmm--mobile .dkmm-panel__close { display: none; }
.dkmm--mobile .dkmm-mega-grid { display: flex; flex-direction: column; gap: 14px; }
.dkmm--mobile .dkmm-column { width: 100%; }
.dkmm--mobile .dkmm-column > .dkmm-link { padding: 8px 0; }
.dkmm--mobile .dkmm-column > .dkmm-submenu { display: flex!important; padding-left: 10px; }
.dkmm--mobile .dkmm-submenu .dkmm-submenu { display: none; padding-left: 12px; }
.dkmm--mobile .dkmm-submenu .is-open > .dkmm-submenu { display: block; }

.dkmm--mobile.dkmm-mobile--dropdown .dkmm-nav { margin-top: 8px; padding: 10px; border: 1px solid var(--dkmm-border); border-radius: 12px; background: white; box-shadow: var(--dkmm-shadow); }
.dkmm--mobile.dkmm-mobile--offcanvas .dkmm-nav { display: block; position: fixed; top: 0; right: 0; z-index: 90; width: min(90vw, 420px); height: 100dvh; padding: 72px 22px 26px; overflow: auto; background: white; box-shadow: -20px 0 60px rgba(17,17,17,.14); transform: translateX(105%); transition: transform var(--dkmm-duration) ease; }
.dkmm--mobile.dkmm-mobile--offcanvas.dkmm--nav-open .dkmm-nav { transform: translateX(0); }
.dkmm--mobile.dkmm-mobile--offcanvas.dkmm--nav-open .dkmm-backdrop { display: block; }
.dkmm--mobile.dkmm-mobile--offcanvas .dkmm-toggle { position: relative; z-index: 91; }
.dkmm--mobile.dkmm-mobile--offcanvas.dkmm--nav-open .dkmm-toggle { position: fixed; top: 16px; right: 16px; }

.dkmm-editor-empty { padding: 16px; border: 1px dashed #c8c8cc; border-radius: 10px; background: #fafafa; color: #62656B; text-align: center; }

@media (prefers-reduced-motion: reduce) {
	.dkmm *, .dkmm *::before, .dkmm *::after { scroll-behavior: auto!important; transition-duration: .01ms!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; }
}

.dkmm-template-content { width: 100%; min-width: 0; }
.dkmm-template-content--after { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--dkmm-border); }
.dkmm-template-content > .elementor { width: 100%; }

/* Visual presets — alpha.7 */
.dkmm-panel--preset-columns-media .dkmm-panel__shell { align-items: stretch; }
.dkmm-panel--preset-columns-media .dkmm-panel__media { align-self: stretch; }
.dkmm-panel--preset-columns-media .dkmm-panel__media-frame { border-radius: 12px; }

.dkmm-panel__media-link { display:block; width:100%; height:100%; color:inherit; text-decoration:none; }
.dkmm-panel__media-copy {
	position:absolute; inset:auto 0 0 0; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:7px;
	padding:22px; color:#fff; background:linear-gradient(180deg, rgba(15,17,20,0) 0%, rgba(15,17,20,.82) 100%);
}
.dkmm-panel__media-eyebrow { display:inline-flex; padding:4px 8px; border-radius:999px; background:rgba(255,255,255,.9); color:#111; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.dkmm-panel__media-title { display:block; max-width:18ch; font-size:clamp(18px,1.7vw,28px); line-height:1.12; }
.dkmm-panel__media-text { display:block; max-width:34ch; font-size:13px; line-height:1.45; opacity:.92; }
.dkmm-panel__media-cta { display:inline-flex; align-items:center; margin-top:3px; font-size:12px; font-weight:800; }

/* Nested headings inside classic columns, useful for groups like “Product Categories”. */
.dkmm-preset--columns .dkmm-column > .dkmm-submenu > .dkmm-item--has-children > .dkmm-link,
.dkmm-preset--columns-media .dkmm-column > .dkmm-submenu > .dkmm-item--has-children > .dkmm-link {
	margin-top:10px; padding-top:9px; font-weight:750; color:var(--dkmm-text);
}
.dkmm-preset--columns .dkmm-column > .dkmm-submenu > .dkmm-item--has-children:first-child > .dkmm-link,
.dkmm-preset--columns-media .dkmm-column > .dkmm-submenu > .dkmm-item--has-children:first-child > .dkmm-link { margin-top:0; }
.dkmm-preset--columns .dkmm-column > .dkmm-submenu > .dkmm-item--has-children > .dkmm-submenu,
.dkmm-preset--columns-media .dkmm-column > .dkmm-submenu > .dkmm-item--has-children > .dkmm-submenu { margin-left:0; }

/* Departments / left-tab preset. Level 1 = tabs, level 2 = columns, level 3 = links. */
.dkmm-preset--departments {
	--dkmm-dept-nav: clamp(210px, 22%, 290px);
	position:relative; display:block; min-height:var(--dkmm-dept-min-height, 260px); padding-right:0; isolation:isolate;
}
.dkmm-preset--departments::before {
	content:''; position:absolute; z-index:-1; top:0; bottom:0; left:0; width:var(--dkmm-dept-nav); border-radius:10px; pointer-events:none;
}
.dkmm-preset--departments > .dkmm-department { position:static; width:var(--dkmm-dept-nav); margin:0; }
.dkmm-preset--departments > .dkmm-department > .dkmm-link {
	position:relative; z-index:2; width:100%; min-height:42px; padding:10px 14px; border-radius:8px; font-weight:600;
}
.dkmm-preset--departments > .dkmm-department > .dkmm-link::after {
	content:''; position:absolute; right:12px; top:50%; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-50%) rotate(-45deg); opacity:.48;
}
.dkmm-preset--departments > .dkmm-department.is-department-active > .dkmm-link,
.dkmm-preset--departments > .dkmm-department > .dkmm-link:hover,
.dkmm-preset--departments > .dkmm-department > .dkmm-link:focus-visible {
	background:rgba(17,17,17,.055); color:var(--dkmm-text); outline:none;
}
.dkmm-preset--departments > .dkmm-department > .dkmm-submenu {
	position:absolute !important; left:calc(var(--dkmm-dept-nav) + 28px); right:0; top:0; z-index:1;
	display:grid; grid-template-columns:repeat(var(--dkmm-columns, 3), minmax(0,1fr)); align-content:start; gap:22px 28px;
	min-width:0; max-width:none; padding:2px 0 0; border:0; border-radius:0; background:transparent; box-shadow:none;
	opacity:0; visibility:hidden; pointer-events:none; transform:none; transition:opacity var(--dkmm-duration) ease;
}
.dkmm-preset--departments > .dkmm-department.is-department-active > .dkmm-submenu { opacity:1; visibility:visible; pointer-events:auto; }
.dkmm-preset--departments > .dkmm-department.dkmm-department--has-media > .dkmm-submenu { right:min(36%, 390px); padding-right:26px; }
.dkmm-preset--departments .dkmm-department-column { min-width:0; }
.dkmm-preset--departments .dkmm-department-column > .dkmm-link { width:100%; padding:0 0 8px; font-weight:750; color:var(--dkmm-text); }
.dkmm-preset--departments .dkmm-department-column > .dkmm-submenu {
	position:static; display:flex; flex-direction:column; gap:0; min-width:0; max-width:none; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none;
	opacity:1; visibility:visible; pointer-events:auto; transform:none;
}
.dkmm-preset--departments .dkmm-department-column > .dkmm-submenu .dkmm-link { padding:7px 0; background:transparent; }
.dkmm-preset--departments .dkmm-department-column > .dkmm-submenu .dkmm-link:hover { color:var(--dkmm-accent); }
.dkmm-preset--departments .dkmm-department__media {
	position:absolute; top:0; right:0; bottom:0; z-index:1; display:none; width:min(34%, 365px); min-width:240px; margin:0;
}
.dkmm-preset--departments > .dkmm-department.is-department-active > .dkmm-department__media { display:block; }
.dkmm-preset--departments .dkmm-department__media .dkmm-panel__media-frame { min-height:100%; height:100%; border-radius:12px; }
.dkmm-preset--departments .dkmm-department__media .dkmm-panel__media-frame img { min-height:100%; height:100%; }


/* alpha.29 — Departments rail must stay compact regardless of micro-box content. */
.dkmm-preset--departments > .dkmm-department {
	height:auto !important;
	min-height:0;
	align-self:auto !important;
}
.dkmm-preset--departments > .dkmm-department > .dkmm-link {
	height:auto;
}
.dkmm-preset--departments > .dkmm-department > .dkmm-submenu.dkmm-micro-box {
	position:absolute !important;
	margin:0 !important;
}

/* Mobile: presets collapse to a conventional, predictable accordion. */
.dkmm--mobile .dkmm-preset--departments { display:flex; flex-direction:column; min-height:0!important; }
.dkmm--mobile .dkmm-preset--departments > .dkmm-department { position:relative; width:100%; }
.dkmm--mobile .dkmm-preset--departments > .dkmm-department > .dkmm-link { padding:9px 0; }
.dkmm--mobile .dkmm-preset--departments > .dkmm-department > .dkmm-link::after { display:none; }
.dkmm--mobile .dkmm-preset--departments > .dkmm-department > .dkmm-submenu {
	position:static; display:flex!important; flex-direction:column; gap:12px; padding:4px 0 8px 12px; opacity:1; visibility:visible; pointer-events:auto;
}
.dkmm--mobile .dkmm-preset--departments .dkmm-department__media { position:static; display:block; width:100%; min-width:0; margin:10px 0 8px; }
.dkmm--mobile .dkmm-preset--departments .dkmm-department__media .dkmm-panel__media-frame { min-height:180px; }

/* alpha.8 — Header/Theme Builder hardening */
.elementor-widget-deka-mega-menu,
.elementor-widget-deka-mega-menu > .elementor-widget-container,
.dkmm,
.dkmm-nav,
.dkmm-menu {
	overflow: visible !important;
}

.dkmm-overflow-host {
	overflow: visible !important;
}

.dkmm-header-layer {
	z-index: 99990 !important;
	overflow: visible !important;
}

.dkmm {
	min-width: 0;
	isolation: auto;
}

.dkmm-panel,
.dkmm-submenu {
	z-index: 99995;
}

/*
 * Progressive fallback: if a Theme Builder/header loader delays or prevents the
 * JS handler from initializing, desktop hover navigation must still work.
 */
/* alpha.17 — strict top-level hover zone. Desktop macro panels are not
 * activated by hovering the whole LI because absolutely-positioned descendants
 * can make :hover extend far below the visible header. JS is authoritative;
 * :has() below is only a progressive fallback around visible trigger surfaces. */
.dkmm:not(.dkmm--ready):not(.dkmm--mobile)[data-interaction="hover"] .dkmm-menu > .dkmm-item--has-children:has(> .dkmm-link:hover, > .dkmm-submenu-toggle:hover, > .dkmm-submenu:hover) > .dkmm-submenu,
.dkmm:not(.dkmm--ready):not(.dkmm--mobile)[data-interaction="hover"] .dkmm-menu > .dkmm-item--has-children:focus-within > .dkmm-submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.dkmm:not(.dkmm--ready):not(.dkmm--mobile)[data-interaction="hover"] .dkmm-menu > .dkmm-item--mega:has(> .dkmm-link:hover, > .dkmm-submenu-toggle:hover, > .dkmm-panel:hover) > .dkmm-panel,
.dkmm:not(.dkmm--ready):not(.dkmm--mobile)[data-interaction="hover"] .dkmm-menu > .dkmm-item--mega:focus-within > .dkmm-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

/* Nested submenus can retain classic item hover because their boxes are local
 * to the already-open menu and do not overlap the page as macro triggers do. */
.dkmm:not(.dkmm--mobile)[data-interaction="hover"] .dkmm-submenu .dkmm-item--has-children:hover > .dkmm-submenu,
.dkmm:not(.dkmm--mobile)[data-interaction="hover"] .dkmm-submenu .dkmm-item--has-children:focus-within > .dkmm-submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.dkmm-editor-empty {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	background: #fff;
	color: #2c3338;
	font-size: 13px;
	line-height: 1.45;
}
.dkmm-editor-empty--warning { border-color: #dba617; background: #fff8e5; }
.dkmm-editor-empty--error { border-color: #d63638; background: #fcf0f1; }

/* If JavaScript is delayed, keep full-width panels visible instead of inheriting
 * fixed top:100% (which would place them below the viewport). Once ready, JS
 * restores viewport-fixed positioning and precise header-bottom coordinates. */
.dkmm:not(.dkmm--ready) .dkmm-panel--fullwidth {
	position: absolute;
	top: calc(100% + var(--dkmm-panel-gap, 8px));
	left: 0;
	width: min(1120px, 92vw);
	max-height: 76vh;
}


/* alpha.9 — visual control support */
.dkmm-nav { width:100%; }
.dkmm-panel__media-frame { overflow:hidden; }
.dkmm-column .dkmm-submenu .dkmm-link,
.dkmm-department-column .dkmm-submenu .dkmm-link { transition: color var(--dkmm-duration) ease, background-color var(--dkmm-duration) ease; }
.dkmm-preset--departments > .dkmm-department > .dkmm-link { transition: color var(--dkmm-duration) ease, background-color var(--dkmm-duration) ease; }

/* alpha.10 — frontend visibility hardening.
 * Only the primary navigation shell is normalized. Mega panels/submenus keep
 * their own closed/open visibility state and are never force-opened here. */
.dkmm:not(.dkmm--mobile) {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100%;
	min-height: 1px;
	pointer-events: auto !important;
}
.dkmm:not(.dkmm--mobile) > .dkmm-nav {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
	clip: auto !important;
	clip-path: none !important;
	content-visibility: visible !important;
	pointer-events: auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 1px;
}
.dkmm:not(.dkmm--mobile) > .dkmm-nav > .dkmm-menu {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
	clip: auto !important;
	clip-path: none !important;
	content-visibility: visible !important;
	pointer-events: auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 1px;
}
.dkmm:not(.dkmm--mobile) > .dkmm-nav > .dkmm-menu > .dkmm-item {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}
.dkmm:not(.dkmm--mobile) > .dkmm-nav > .dkmm-menu > .dkmm-item > .dkmm-link {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* alpha.10 — item-image layout controls. */
.dkeb-item-image-layout-top .dkmm-panel .dkmm-link {
	flex-wrap: wrap;
}
.dkeb-item-image-layout-top .dkmm-panel .dkmm-link__image {
	order: 0;
	flex: 0 0 100%;
	margin-bottom: 0;
}
.dkeb-item-image-layout-top .dkmm-panel .dkmm-link__content {
	order: 1;
	width: 100%;
}
.dkeb-item-image-layout-left .dkmm-panel .dkmm-link,
.dkeb-item-image-layout-right .dkmm-panel .dkmm-link {
	flex-wrap: nowrap;
	align-items: center;
}
.dkeb-item-image-layout-left .dkmm-panel .dkmm-link__image,
.dkeb-item-image-layout-right .dkmm-panel .dkmm-link__image {
	flex: 0 0 auto;
	margin-bottom: 0;
}
.dkeb-item-image-layout-left .dkmm-panel .dkmm-link__image { order: 0; }
.dkeb-item-image-layout-left .dkmm-panel .dkmm-link__content { order: 1; flex: 1 1 0; }
.dkeb-item-image-layout-right .dkmm-panel .dkmm-link__content { order: 1; flex: 1 1 0; }
.dkeb-item-image-layout-right .dkmm-panel .dkmm-link__image { order: 2; }

/* alpha.10 — optional visual-side override. Background images keep the
 * per-menu-item background mode; this override affects lateral media blocks. */
.dkeb-promo-side-left .dkmm-panel:not(.dkmm-panel--preset-departments) > .dkmm-panel__shell > .dkmm-panel__media {
	order: -1;
}
.dkeb-promo-side-right .dkmm-panel:not(.dkmm-panel--preset-departments) > .dkmm-panel__shell > .dkmm-panel__media {
	order: 2;
}
.dkmm-panel__media-frame img,
.dkmm-link__image img {
	max-width: 100%;
}

/* Spacing between image and text is driven by an Elementor custom property so
 * the layout does not depend on :has(), preserving broader browser support. */
.dkeb-item-image-layout-top .dkmm-panel .dkmm-link__image { margin-bottom: var(--dkmm-item-image-gap, 8px); }
.dkeb-item-image-layout-left .dkmm-panel .dkmm-link__image { margin-right: var(--dkmm-item-image-gap, 8px); }
.dkeb-item-image-layout-right .dkmm-panel .dkmm-link__image { margin-left: var(--dkmm-item-image-gap, 8px); }

/* Fail-safe applied by JS only when an Elementor Mega Menu wrapper is present,
 * occupies layout space and remains invisible after frontend initialization. */
.elementor-widget-deka-mega-menu.dkeb-megamenu-wrapper-visible {
	visibility: visible !important;
	opacity: 1 !important;
}

/* alpha.20 — Dropdown Auto width is calculated at runtime from the real
 * configured column count, responsive column width, column gap, shell padding,
 * Departments rail and optional media. This replaces the legacy hard-coded
 * 1→6 width table, so one column no longer carries unused whitespace. */
.dkmm-panel--dropdown.dkmm-panel--auto-sized {
	width: min(var(--dkmm-auto-dropdown-width, 1120px), calc(100vw - 24px)) !important;
}

/* alpha.23 — deterministic three-level alignment.
 * Alignment must affect the visible text container too, not only the outer
 * anchor. This is especially important when image layouts give
 * .dkmm-link__content flex:1 and when Departments uses nested grid columns. */
.dkeb-column-title-align-left .dkmm-panel .dkmm-column > .dkmm-link,
.dkeb-column-title-align-left .dkmm-panel .dkmm-department-column > .dkmm-link,
.dkeb-column-title-align-left .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__content,
.dkeb-column-title-align-left .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__content {
	justify-content:flex-start !important; text-align:left !important;
}
.dkeb-column-title-align-center .dkmm-panel .dkmm-column > .dkmm-link,
.dkeb-column-title-align-center .dkmm-panel .dkmm-department-column > .dkmm-link,
.dkeb-column-title-align-center .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__content,
.dkeb-column-title-align-center .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__content {
	justify-content:center !important; text-align:center !important;
}
.dkeb-column-title-align-right .dkmm-panel .dkmm-column > .dkmm-link,
.dkeb-column-title-align-right .dkmm-panel .dkmm-department-column > .dkmm-link,
.dkeb-column-title-align-right .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__content,
.dkeb-column-title-align-right .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__content {
	justify-content:flex-end !important; text-align:right !important;
}

.dkeb-submenu-align-left .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-left .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-left .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-left .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-left .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-left .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content {
	justify-content:flex-start !important; text-align:left !important;
}
.dkeb-submenu-align-center .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-center .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-center .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-center .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-center .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-center .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content {
	justify-content:center !important; text-align:center !important;
}
.dkeb-submenu-align-right .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-right .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-right .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-right .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-right .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkeb-submenu-align-right .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content {
	justify-content:flex-end !important; text-align:right !important;
}

.dkeb-micro-align-left .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-left .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content,
.dkeb-micro-align-left .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-left .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content,
.dkeb-micro-align-left .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-left .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content {
	justify-content:flex-start !important; text-align:left !important;
}
.dkeb-micro-align-center .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-center .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content,
.dkeb-micro-align-center .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-center .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content,
.dkeb-micro-align-center .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-center .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content {
	justify-content:center !important; text-align:center !important;
}
.dkeb-micro-align-right .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-right .dkmm-menu > .dkmm-item > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content,
.dkeb-micro-align-right .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-right .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content,
.dkeb-micro-align-right .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkeb-micro-align-right .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__content {
	justify-content:flex-end !important; text-align:right !important;
}

/* Make text children follow the selected alignment even when a theme applies
 * its own text-align to spans. Width 100% makes center/right deterministic. */
.dkeb-column-title-align-left .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__content,
.dkeb-column-title-align-left .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__content,
.dkeb-column-title-align-center .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__content,
.dkeb-column-title-align-center .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__content,
.dkeb-column-title-align-right .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__content,
.dkeb-column-title-align-right .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-left .dkmm-panel .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-center .dkmm-panel .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-submenu-align-right .dkmm-panel .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__content,
.dkeb-micro-align-left .dkmm-panel .dkmm-submenu .dkmm-submenu .dkmm-link__content,
.dkeb-micro-align-center .dkmm-panel .dkmm-submenu .dkmm-submenu .dkmm-link__content,
.dkeb-micro-align-right .dkmm-panel .dkmm-submenu .dkmm-submenu .dkmm-link__content {
	width:100%;
}
.dkeb-column-title-align-left .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__title,
.dkeb-column-title-align-left .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__title,
.dkeb-submenu-align-left .dkmm-panel .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__title,
.dkeb-micro-align-left .dkmm-panel .dkmm-submenu .dkmm-submenu .dkmm-link__title { text-align:left !important; }
.dkeb-column-title-align-center .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__title,
.dkeb-column-title-align-center .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__title,
.dkeb-submenu-align-center .dkmm-panel .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__title,
.dkeb-micro-align-center .dkmm-panel .dkmm-submenu .dkmm-submenu .dkmm-link__title { text-align:center !important; }
.dkeb-column-title-align-right .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__title,
.dkeb-column-title-align-right .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__title,
.dkeb-submenu-align-right .dkmm-panel .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__title,
.dkeb-micro-align-right .dkmm-panel .dkmm-submenu .dkmm-submenu .dkmm-link__title { text-align:right !important; }

/* alpha.19 — detached desktop panel topology.
 * Top-level Mega Panels are moved out of the macro <li> after JS init so an
 * open panel can never enlarge the native :hover / focus subtree of its
 * trigger. The overlay itself is inert; only an explicitly open panel accepts
 * pointer input. */
.dkmm-overlay-layer {
	position: fixed;
	inset: 0;
	z-index: 99994;
	width: 0;
	height: 0;
	overflow: visible;
	pointer-events: none;
}
.dkmm-panel.dkmm-panel--portaled {
	position: fixed;
	z-index: 99995;
	pointer-events: none;
}
.dkmm-panel.dkmm-panel--open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}
.dkmm-panel.dkmm-panel--portaled:not(.dkmm-panel--open) {
	pointer-events: none !important;
}
/* alpha.31 — interaction isolation backup for browsers/CSS combinations where
 * descendants explicitly restore pointer-events/visibility. Closed panels and
 * inactive Departments content must be completely absent from hit-testing. */
.dkmm:not(.dkmm--mobile) .dkmm-panel.dkmm-panel--portaled:not(.dkmm-panel--open) *,
.dkmm:not(.dkmm--mobile) .dkmm-preset--departments > .dkmm-department:not(.is-department-active) > .dkmm-submenu,
.dkmm:not(.dkmm--mobile) .dkmm-preset--departments > .dkmm-department:not(.is-department-active) > .dkmm-submenu * {
	pointer-events: none !important;
}
.dkmm:not(.dkmm--mobile) .dkmm-panel.dkmm-panel--portaled:not(.dkmm-panel--open) *,
.dkmm:not(.dkmm--mobile) .dkmm-preset--departments > .dkmm-department:not(.is-department-active) > .dkmm-submenu * {
	visibility: hidden !important;
}

/* alpha.32 — mobile is a separate interaction topology. Desktop isolation
 * must never leak into the restored accordion/off-canvas tree. */
.dkmm--mobile .dkmm-preset--departments > .dkmm-department > .dkmm-submenu,
.dkmm--mobile .dkmm-preset--departments > .dkmm-department > .dkmm-submenu * {
	visibility: visible !important;
	pointer-events: auto !important;
}



/* alpha.22 — multi-row overlap guard.
 * When an open top-level Mega Panel physically covers macro triggers from a
 * lower wrapped row, those covered triggers must not receive pointer input.
 * The panel remains interactive and keyboard focus is untouched. */
.dkmm:not(.dkmm--mobile).dkmm--panel-overlap-guard .dkmm-menu > .dkmm-item.dkmm-item--occluded > .dkmm-link,
.dkmm:not(.dkmm--mobile).dkmm--panel-overlap-guard .dkmm-menu > .dkmm-item.dkmm-item--occluded > .dkmm-submenu-toggle {
	pointer-events: none !important;
}
.dkmm:not(.dkmm--mobile).dkmm--panel-overlap-guard .dkmm-menu > .dkmm-item.dkmm-item--occluded {
	cursor: default;
}


/* alpha.24 — alignment engine v2.
 * Do not rely on Elementor prefix_class for panel alignment. Top-level panels
 * are portaled at runtime and Editor re-renders can update wrapper classes at a
 * different moment. Alignment values are emitted directly as CSS custom
 * properties on the .dkmm root, so every portaled/restored panel reads the
 * current widget setting deterministically. */
.dkmm .dkmm-panel .dkmm-column > .dkmm-link,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-link {
	justify-content:var(--dkmm-column-title-justify, flex-start) !important;
	text-align:var(--dkmm-column-title-text-align, left) !important;
}
.dkmm .dkmm-panel .dkmm-column > .dkmm-link > .dkmm-link__content,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-link > .dkmm-link__content {
	width:100%; flex:1 1 auto;
	justify-content:var(--dkmm-column-title-justify, flex-start) !important;
	text-align:var(--dkmm-column-title-text-align, left) !important;
}
.dkmm .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__title,
.dkmm .dkmm-panel .dkmm-column > .dkmm-link .dkmm-link__description,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__title,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-link .dkmm-link__description {
	width:100%; text-align:var(--dkmm-column-title-text-align, left) !important;
}

/* Sottomenu = links immediately contained by a content column. */
.dkmm .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link {
	justify-content:var(--dkmm-submenu-justify, flex-start) !important;
	text-align:var(--dkmm-submenu-text-align, left) !important;
}
.dkmm .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__content,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__content {
	width:100%; flex:1 1 auto;
	justify-content:var(--dkmm-submenu-justify, flex-start) !important;
	text-align:var(--dkmm-submenu-text-align, left) !important;
}
.dkmm .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__title,
.dkmm .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__description,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__title,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-link .dkmm-link__description {
	width:100%; text-align:var(--dkmm-submenu-text-align, left) !important;
}

/* Micro-menu = any level nested below the immediate submenu item. */
.dkmm .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link {
	justify-content:var(--dkmm-micro-justify, flex-start) !important;
	text-align:var(--dkmm-micro-text-align, left) !important;
}
.dkmm .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link > .dkmm-link__content,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link > .dkmm-link__content {
	width:100%; flex:1 1 auto;
	justify-content:var(--dkmm-micro-justify, flex-start) !important;
	text-align:var(--dkmm-micro-text-align, left) !important;
}
.dkmm .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__title,
.dkmm .dkmm-panel .dkmm-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__description,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__title,
.dkmm .dkmm-panel .dkmm-department-column > .dkmm-submenu > .dkmm-item > .dkmm-submenu .dkmm-link .dkmm-link__description {
	width:100%; text-align:var(--dkmm-micro-text-align, left) !important;
}

/* Departments left rail has its own alignment because it is not a content
 * submenu/column title. */
.dkmm .dkmm-panel .dkmm-preset--departments > .dkmm-department > .dkmm-link {
	justify-content:var(--dkmm-department-tab-justify, flex-start) !important;
	text-align:var(--dkmm-department-tab-text-align, left) !important;
}
.dkmm .dkmm-panel .dkmm-preset--departments > .dkmm-department > .dkmm-link > .dkmm-link__content {
	width:100%; flex:1 1 auto;
	justify-content:var(--dkmm-department-tab-justify, flex-start) !important;
	text-align:var(--dkmm-department-tab-text-align, left) !important;
}
.dkmm .dkmm-panel .dkmm-preset--departments > .dkmm-department > .dkmm-link .dkmm-link__title,
.dkmm .dkmm-panel .dkmm-preset--departments > .dkmm-department > .dkmm-link .dkmm-link__description {
	width:100%; text-align:var(--dkmm-department-tab-text-align, left) !important;
}

/* alpha.26 — dedicated Micro-menu spacing and image layouts. */
.dkmm-micro-image-layout--top .dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link { flex-direction:column; align-items:stretch; }
.dkmm-micro-image-layout--top .dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__image { margin:0 0 var(--dkmm-micro-image-gap,10px) 0; align-self:stretch; }
.dkmm-micro-image-layout--left .dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link,
.dkmm-micro-image-layout--right .dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link { flex-direction:row; align-items:center; }
.dkmm-micro-image-layout--left .dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__image { order:0; margin:0 var(--dkmm-micro-image-gap,10px) 0 0; }
.dkmm-micro-image-layout--left .dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__content { order:1; flex:1 1 auto; }
.dkmm-micro-image-layout--right .dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__content { order:0; flex:1 1 auto; }
.dkmm-micro-image-layout--right .dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__image { order:1; margin:0 0 0 var(--dkmm-micro-image-gap,10px); }
.dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__image { overflow:hidden; flex-shrink:0; }
.dkmm-submenu .dkmm-submenu > .dkmm-item > .dkmm-link > .dkmm-link__image img { width:100%; height:100%; display:block; }


/* alpha.29 — Micro-menu box spacing and one visual per parent subcategory.
 * IMPORTANT: never force position here. The same micro-box can be the right-side
 * grid of the Departments preset, where it must remain position:absolute.
 * Changing its positioning would put the panel back into the left rail flow and
 * artificially inflate the height/spacing of every department item. */
.dkmm .dkmm-micro-box {
	row-gap:var(--dkmm-micro-item-gap, 0) !important;
	padding:var(--dkmm-micro-box-padding, 0) !important;
	border-radius:var(--dkmm-micro-box-radius, 0) !important;
	background-color:var(--dkmm-micro-box-bg, transparent) !important;
	min-height:var(--dkmm-micro-box-min-height, 0);
	box-sizing:border-box;
	isolation:isolate;
	overflow:hidden;
}
.dkmm .dkmm-micro-box > .dkmm-item { position:relative; z-index:2; }
.dkmm .dkmm-micro-box--has-image {
	background-image:var(--dkmm-micro-box-image) !important;
	background-repeat:no-repeat !important;
	background-size:var(--dkmm-micro-box-image-size, 220px auto) !important;
	background-position:var(--dkmm-micro-box-image-position, right bottom) !important;
}
/* Fine positioning for the common edge presets. CSS background-position cannot
 * combine semantic edge names with an arbitrary custom offset through a single
 * Elementor value, therefore translate the image origin via calc() for the four
 * edge/corner families while keeping center presets unchanged. */
.dkmm .dkmm-micro-box--has-image {
	--dkmm-micro-box-x:var(--dkmm-micro-box-image-offset-x, 16px);
	--dkmm-micro-box-y:var(--dkmm-micro-box-image-offset-y, 16px);
}
.dkmm[data-micro-box-image-position="right bottom"] .dkmm-micro-box--has-image { background-position:right var(--dkmm-micro-box-x) bottom var(--dkmm-micro-box-y) !important; }
.dkmm[data-micro-box-image-position="right center"] .dkmm-micro-box--has-image { background-position:right var(--dkmm-micro-box-x) center !important; }
.dkmm[data-micro-box-image-position="right top"] .dkmm-micro-box--has-image { background-position:right var(--dkmm-micro-box-x) top var(--dkmm-micro-box-y) !important; }
.dkmm[data-micro-box-image-position="left bottom"] .dkmm-micro-box--has-image { background-position:left var(--dkmm-micro-box-x) bottom var(--dkmm-micro-box-y) !important; }
.dkmm[data-micro-box-image-position="left center"] .dkmm-micro-box--has-image { background-position:left var(--dkmm-micro-box-x) center !important; }
.dkmm[data-micro-box-image-position="left top"] .dkmm-micro-box--has-image { background-position:left var(--dkmm-micro-box-x) top var(--dkmm-micro-box-y) !important; }
.dkmm[data-micro-box-image-position="center bottom"] .dkmm-micro-box--has-image { background-position:center bottom var(--dkmm-micro-box-y) !important; }
.dkmm[data-micro-box-image-position="center top"] .dkmm-micro-box--has-image { background-position:center top var(--dkmm-micro-box-y) !important; }


/* alpha.33 — Mobile accordion: isolated layout, no desktop absolute boxes.
   WordPress levels keep their original data and links. Only the presentation
   and per-level toggle behavior change at the mobile breakpoint. */
.dkmm .dkmm-submenu-toggle--nested { display:none; }
.dkmm.dkmm--mobile .dkmm-submenu-toggle--nested { display:inline-grid !important; }

.dkmm.dkmm--mobile .dkmm-panel,
.dkmm.dkmm--mobile .dkmm-submenu,
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department > .dkmm-submenu,
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department > .dkmm-submenu.dkmm-micro-box,
.dkmm.dkmm--mobile .dkmm-department-column > .dkmm-submenu {
    position:static !important; inset:auto !important; float:none !important;
    top:auto !important; right:auto !important; bottom:auto !important; left:auto !important;
    display:none !important; opacity:1 !important; visibility:visible !important;
    transform:none !important; pointer-events:auto !important;
    width:100% !important; height:auto; max-height:none !important; min-height:0 !important;
    min-width:0 !important; max-width:none !important;
    margin:0 !important; box-sizing:border-box !important;
    border:0 !important; box-shadow:none !important; border-radius:0 !important;
    overflow:visible; transition:none !important;
}
.dkmm.dkmm--mobile .dkmm-item.is-open > .dkmm-submenu,
.dkmm.dkmm--mobile .dkmm-item.is-open > .dkmm-panel,
.dkmm.dkmm--mobile .dkmm-item > .dkmm-submenu.dkmm-mobile--closing,
.dkmm.dkmm--mobile .dkmm-item > .dkmm-panel.dkmm-mobile--closing {
    display:block !important;
}
.dkmm.dkmm--mobile .dkmm-submenu.dkmm-mobile--animating,
.dkmm.dkmm--mobile .dkmm-panel.dkmm-mobile--animating {
    overflow:hidden !important;
}
.dkmm.dkmm--mobile .dkmm-panel { padding:0 !important; background:transparent !important; }
.dkmm.dkmm--mobile .dkmm-panel__shell { display:block !important; min-height:0 !important; padding:0 !important; }
.dkmm.dkmm--mobile .dkmm-panel__main { width:100% !important; }
.dkmm.dkmm--mobile .dkmm-mega-grid,
.dkmm.dkmm--mobile .dkmm-preset--departments {
    display:block !important; width:100% !important; height:auto !important;
    min-height:0 !important; padding:0 !important; margin:0 !important;
    background:none !important; grid-template-columns:none !important;
}
.dkmm.dkmm--mobile .dkmm-preset--departments::before { display:none !important; }
.dkmm.dkmm--mobile .dkmm-mega-grid > .dkmm-item,
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department,
.dkmm.dkmm--mobile .dkmm-submenu > .dkmm-item,
.dkmm.dkmm--mobile .dkmm-column,
.dkmm.dkmm--mobile .dkmm-department-column {
    position:relative !important; width:100% !important; max-width:100% !important;
    min-height:0 !important; height:auto !important; margin:0 !important;
    display:grid !important; grid-template-columns:minmax(0,1fr) 42px !important;
    align-items:center !important; gap:0 !important;
    grid-column:1 / -1 !important;
}
.dkmm.dkmm--mobile .dkmm-menu > .dkmm-item,
.dkmm.dkmm--mobile .dkmm-mega-grid > .dkmm-item {
    display:grid !important; grid-template-columns:minmax(0,1fr) 42px !important;
    align-items:center !important;
}
.dkmm.dkmm--mobile .dkmm-item > .dkmm-link,
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department > .dkmm-link,
.dkmm.dkmm--mobile .dkmm-column > .dkmm-link,
.dkmm.dkmm--mobile .dkmm-department-column > .dkmm-link {
    position:static !important; z-index:auto !important;
    display:flex !important; grid-column:1 !important;
    min-width:0 !important; min-height:44px !important;
    width:100% !important; padding:11px 9px !important;
    border-radius:8px !important;
    white-space:normal !important; overflow-wrap:anywhere !important;
    font-size:inherit; line-height:1.45 !important;
}
.dkmm.dkmm--mobile .dkmm-item > .dkmm-submenu-toggle {
    position:relative !important; z-index:2 !important;
    display:inline-grid !important; grid-column:2 !important; grid-row:1 !important;
    width:42px !important; height:44px !important;
    margin:0 !important; padding:0 !important;
    justify-self:stretch; align-self:start;
}
.dkmm.dkmm--mobile .dkmm-item:not(.dkmm-item--has-children) > .dkmm-submenu-toggle { display:none !important; }
.dkmm.dkmm--mobile .dkmm-item > .dkmm-submenu,
.dkmm.dkmm--mobile .dkmm-item > .dkmm-panel { grid-column:1 / -1 !important; grid-row:auto !important; }
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department.is-department-active > .dkmm-submenu,
.dkmm.dkmm--mobile .dkmm-column > .dkmm-submenu,
.dkmm.dkmm--mobile .dkmm-department-column > .dkmm-submenu { opacity:1 !important; }
.dkmm.dkmm--mobile .dkmm-item.is-open > .dkmm-submenu,
.dkmm.dkmm--mobile .dkmm-item.is-open > .dkmm-panel { padding:2px 0 7px 13px !important; }
.dkmm.dkmm--mobile .dkmm-submenu.dkmm-micro-box {
    background-color:transparent !important; background-image:none !important;
    padding:0 0 0 13px !important; min-height:0 !important;
}
.dkmm.dkmm--mobile .dkmm-panel__media,
.dkmm.dkmm--mobile .dkmm-department__media {
    display:none !important; position:static !important; grid-column:1 / -1 !important;
    width:100% !important; height:auto !important; min-width:0 !important;
    margin:0 !important; pointer-events:none !important;
}
.dkmm.dkmm--mobile .dkmm-item.is-open > .dkmm-department__media { display:block !important; }
.dkmm.dkmm--mobile .dkmm-panel--image-background::before { display:none !important; }
.dkmm.dkmm--mobile .dkmm-panel .dkmm-link__image { flex:0 0 48px !important; width:48px !important; height:48px !important; aspect-ratio:1 !important; }
.dkmm.dkmm--mobile .dkmm-panel .dkmm-link__image img { width:100% !important; height:100% !important; object-fit:contain !important; }
.dkmm.dkmm--mobile .dkmm-submenu .dkmm-link__content { flex-wrap:wrap; }
.dkmm.dkmm--mobile .dkmm-panel .dkmm-link { text-align:left !important; justify-content:flex-start !important; }
.dkmm.dkmm--mobile .dkmm-panel .dkmm-link__content,
.dkmm.dkmm--mobile .dkmm-panel .dkmm-link__title { text-align:left !important; justify-content:flex-start !important; }
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department:not(.is-department-active) > .dkmm-submenu,
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department:not(.is-department-active) > .dkmm-submenu * {
    pointer-events:auto !important; visibility:visible !important;
}
@media (prefers-reduced-motion:reduce) {
    .dkmm.dkmm--mobile .dkmm-submenu,
    .dkmm.dkmm--mobile .dkmm-panel { transition:none !important; }
}
/* Specific override: Departments' micro-box selector has higher specificity
   than the generic accordion open rule above. */
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department.is-open > .dkmm-submenu.dkmm-micro-box,
.dkmm.dkmm--mobile .dkmm-preset--departments > .dkmm-department.is-open > .dkmm-submenu {
    display:block !important;
}

/* alpha.34 — Mobile opening variants. The hierarchical accordion from alpha.33
   remains identical within the .dkmm-nav of every mode. */
.dkmm--mobile.dkmm-mobile--slide-left .dkmm-nav {
    display:block; position:fixed; inset:0 auto 0 0; z-index:90;
    width:min(90vw,420px); max-width:100vw; height:100dvh;
    padding:72px 22px 26px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
    background:#fff; box-shadow:20px 0 60px rgba(17,17,17,.14);
    transform:translate3d(-105%,0,0) !important;
    transition:transform var(--dkmm-mobile-menu-duration,280ms) cubic-bezier(.22,1,.36,1) !important;
    will-change:transform;
}
.dkmm--mobile.dkmm-mobile--slide-left.dkmm--nav-open .dkmm-nav {
    transform:translate3d(0,0,0) !important;
}
.dkmm--mobile.dkmm-mobile--slide-left.dkmm--nav-open .dkmm-backdrop { display:block; }
.dkmm--mobile.dkmm-mobile--slide-left .dkmm-toggle { position:relative; z-index:91; }
.dkmm--mobile.dkmm-mobile--slide-left.dkmm--nav-open .dkmm-toggle { position:fixed; top:16px; left:16px; right:auto; }

.dkmm--mobile.dkmm-mobile--fullscreen .dkmm-nav {
    display:block; position:fixed; inset:0 !important; z-index:90;
    width:100vw !important; max-width:none !important; height:100dvh; max-height:100dvh;
    padding:76px 22px 30px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
    background:#fff; border:0; border-radius:0; margin:0; box-shadow:none;
    opacity:0; visibility:hidden; pointer-events:none;
    transform:translate3d(0,-12px,0) !important;
    transition:opacity var(--dkmm-mobile-menu-duration,280ms) ease,
               transform var(--dkmm-mobile-menu-duration,280ms) ease,
               visibility 0s linear var(--dkmm-mobile-menu-duration,280ms) !important;
}
.dkmm--mobile.dkmm-mobile--fullscreen.dkmm--nav-open .dkmm-nav {
    opacity:1; visibility:visible; pointer-events:auto;
    transform:translate3d(0,0,0) !important;
    transition:opacity var(--dkmm-mobile-menu-duration,280ms) ease,
               transform var(--dkmm-mobile-menu-duration,280ms) ease,
               visibility 0s linear 0s !important;
}
.dkmm--mobile.dkmm-mobile--fullscreen .dkmm-toggle { position:relative; z-index:91; }
.dkmm--mobile.dkmm-mobile--fullscreen.dkmm--nav-open .dkmm-toggle { position:fixed; top:16px; right:16px; left:auto; }

/* Overrides any inherited desktop/Elementor transform on modal navigation. */
.dkmm--mobile.dkmm-mobile--offcanvas .dkmm-nav { transition-duration:var(--dkmm-mobile-menu-duration,280ms); }
@media (prefers-reduced-motion:reduce) {
    .dkmm--mobile.dkmm-mobile--slide-left .dkmm-nav,
    .dkmm--mobile.dkmm-mobile--fullscreen .dkmm-nav,
    .dkmm--mobile.dkmm-mobile--offcanvas .dkmm-nav { transition-duration:0.01ms !important; }
}

/* alpha.39 — mobile Dropdown overlay only. Keeps the hamburger/widget in its
 * existing Elementor row while the open menu is painted above the header and
 * other widgets. Other mobile modes and desktop remain unchanged. */
.dkmm.dkmm--mobile.dkmm-mobile--dropdown.dkmm--nav-open {
	z-index: 2147480000 !important;
}
.dkmm.dkmm--mobile.dkmm-mobile--dropdown > .dkmm-nav {
	position: absolute !important;
	inset: auto !important;
	top: var(--dkmm-mobile-dropdown-top, 56px) !important;
	left: var(--dkmm-mobile-dropdown-left, 12px) !important;
	width: var(--dkmm-mobile-dropdown-render-width, calc(100vw - 24px)) !important;
	min-width: 0 !important;
	max-width: none !important;
	max-height: var(--dkmm-mobile-dropdown-max-height, calc(100dvh - 68px)) !important;
	height: auto !important;
	margin: 0 !important;
	padding: 10px !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	z-index: 2147480000 !important;
	box-sizing: border-box;
}
.dkmm.dkmm--mobile.dkmm-mobile--dropdown:not(.dkmm--nav-open) > .dkmm-nav {
	display: none !important;
}
.dkmm.dkmm--mobile.dkmm-mobile--dropdown.dkmm--nav-open > .dkmm-nav {
	display: block !important;
}
.dkmm-mobile-dropdown-layer {
	z-index: 2147480000 !important;
}
