/* ==========================================================================
   MC Elementor Menu
   ========================================================================== */

.mcem-menu { --mcem-dur: 400ms; }

.mcem-menu ul { list-style: none; margin: 0; padding: 0; }
.mcem-menu button { background: none; border: 0; cursor: pointer; font: inherit; }

.mcem-menu .mcem-d-link,
.mcem-menu .mcem-m-link,
.mcem-menu .mcem-m-parent { text-decoration: none; }

.mcem-menu .mcem-d-arrow,
.mcem-menu .mcem-m-arrow,
.mcem-menu .mcem-toggle,
.mcem-menu .mcem-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.mcem-menu .mcem-d-arrow svg,
.mcem-menu .mcem-m-arrow svg,
.mcem-menu .mcem-toggle svg,
.mcem-menu .mcem-close svg {
    width: 1em; height: 1em; fill: currentColor;
}
.mcem-menu .mcem-d-arrow i,
.mcem-menu .mcem-m-arrow i,
.mcem-menu .mcem-toggle i,
.mcem-menu .mcem-close i { font-size: 1em; }

/* ----- Mode switching (set by JS) -------------------------------------- */
.mcem-menu .mcem-toggle-wrap,
.mcem-menu .mcem-overlay { display: none; }

.mcem-menu.mcem--desktop .mcem-desktop { display: block; }
.mcem-menu.mcem--mobile  .mcem-desktop { display: none; }
.mcem-menu.mcem--mobile  .mcem-toggle-wrap { display: flex; }

/* ----- Desktop menu ----------------------------------------------------- */
.mcem-desktop .mcem-d-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.mcem-d-menu > .mcem-d-item { position: relative; }
.mcem-d-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    transition: color .2s ease, background-color .2s ease;
}

/* Desktop dropdown */
.mcem-d-sub {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
    border-radius: 8px;
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    z-index: 100;
}
.mcem-d-item:hover > .mcem-d-sub,
.mcem-d-item.is-open > .mcem-d-sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.mcem-d-sub .mcem-d-item { position: relative; }
.mcem-d-sub .mcem-d-link {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 10px 16px;
}
/* nested flyout */
.mcem-d-sub .mcem-d-sub {
    top: -6px;
    left: 100%;
    transform: translateX(8px);
}
.mcem-d-sub .mcem-d-item:hover > .mcem-d-sub,
.mcem-d-sub .mcem-d-item.is-open > .mcem-d-sub {
    transform: translateX(0);
}
.mcem-d-sub .mcem-d-arrow { transform: rotate(0); }

/* ----- Hamburger -------------------------------------------------------- */
.mcem-toggle-wrap { width: 100%; }
.mcem-toggle {
    display: inline-flex;
    color: inherit;
    padding: 4px;
}

/* ----- Fullscreen overlay ---------------------------------------------- */
.mcem-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    background: #021662;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--mcem-dur) ease,
                transform var(--mcem-dur) ease,
                visibility var(--mcem-dur) ease;
    padding-top: env(safe-area-inset-top, 0px);
}
.mcem-menu.mcem--mobile .mcem-overlay { display: flex; }

/* Animations (entry state) */
.mcem-anim-fade .mcem-overlay { transform: none; }
.mcem-anim-left .mcem-overlay { transform: translateX(-100%); }
.mcem-anim-top  .mcem-overlay { transform: translateY(-100%); }

.mcem-overlay.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.mcem-overlay__bar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
	flex-direction: row-reverse;
    justify-content: space-between;
	min-height: 60px;
    margin-top: 40px;
}
.mcem-close { color: #fff; }
.mcem-overlay__logo {
    display: inline-flex;
   
    align-items: center;
}
.mcem-overlay__logo img { display: block; height: auto; max-width: 100%; }

/* Panels (layered submenus) */
.mcem-panels {
    position: relative;
    flex: 1 1 auto;
    overflow: hidden;
}
.mcem-panels > .mcem-m-menu {
    position: absolute;
    inset: 0;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}
.mcem-m-submenu {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%);
    transition: transform var(--mcem-dur) ease;
    will-change: transform;
}
.mcem-m-submenu.is-open { transform: translateX(0); }

.mcem-m-link,
.mcem-m-parent {
    display: flex;
    align-items: center;
    width: 100%;
    color: #fff;
    text-align: left;
}
.mcem-m-text { display: inline-block; }
.mcem-m-arrow { margin-left: 12px; flex: 0 0 auto; }

/* ----- Misc ------------------------------------------------------------- */
body.mcem-no-scroll { overflow: hidden; }

.mcem-notice {
    padding: 14px 18px;
    background: #f4f5fa;
    border: 1px dashed #b9c0d4;
    border-radius: 6px;
    color: #555;
    font-size: 13px;
}

@media (prefers-reduced-motion: reduce) {
    .mcem-overlay,
    .mcem-m-submenu,
    .mcem-d-sub { transition: none; }
}


.mcem-m-menu{
	padding:27px !important;
	display: flex;
    flex-direction: column;
    gap: 20px;
}

.mcem-m-link .mcem-m-text{
	max-width: 250px !important;
}

.mcem-m-link, .mcem-m-item button{
	padding:0px !important;
}

.mcem-d-sub{
	padding:20px !important;
	gap: 15px;
    display: flex;
    flex-direction: column;
}

.mcem-close:focus, .mcem-close:hover, .mcem-toggle:focus, .mcem-toggle:hover, .mcem-m-parent:focus, .mcem-m-parent:hover, .mcem-toggle:hover{
	background-color: transparent !important;;
}

.mcem-m-parent{
	display: flex !important;
    justify-content: space-between !important;
}


.mcem-menu .mcem-d-arrow svg{
    width: 10px;
    height: 10px;
    fill: currentColor;
 
}

.mcem-menu .mcem-d-arrow svg path{
	 fill: #fff;
}


/* MC Menu × sticky header fix: usuń transform z headera, gdy otwarte pełnoekranowe menu,
   inaczej fixed-overlay pozycjonuje się względem headera zamiast okna */
body.mcem-no-scroll .cc-sticky-header,
body.mcem-no-scroll .cc-sticky-header.cc-pinned {
    transform: none !important;
    animation: none !important;
}

/* dodatkowo: overlay zawsze ponad sticky headerem */
.mcem-overlay { z-index: 100000; }
