/* =====================================================================
   Ardigen Menu v2 — lawendowa skóra.
   Wszystkie selektory scope'owane pod .ardigen-menu żeby ich specificity
   biło reguły motywu opartych na pojedynczej klasie.
   ===================================================================== */

.ardigen-menu {
    /* Tokeny brand */
    --am-lavender:     #E5D4F5;
    --am-lavender-hi:  #F3EAFA;
    --am-lavender-lo:  #EFE3F8;
    --am-lavender-ic:  #DCC9F0;
    --am-border:       #7758B8;
    --am-deep:         #221144;
    --am-purple:       #503790;
    --am-text:         #26185C;
    --am-muted:        #8578A8;
    --am-yellow:       #FFEF5A;

    /* Kolory tła paska (przełączane klasą .is-mega-open) */
    --am-bar-closed:   #170A2C;
    --am-bar-open:     #f1e8fd;

    --am-radius-md:    0px;
    --am-radius-lg:    0px;
    --am-radius-pill:  0px;
    --am-shadow:       0 24px 60px -20px rgba(34,17,68,.18), 0 8px 24px -8px rgba(34,17,68,.08);
    --am-dur:          180ms;
    --am-ease:         cubic-bezier(.2,.7,.2,1);
    --am-container:    1312px;

    position: relative;
    z-index: 200;
    color: var(--am-text);
    box-sizing: border-box;
    font-family: "Helvetica now text", Sans-serif;
    padding: 0 50px;
    /* Full-width pasek — wyłamuje się z parent-containera (Elementor itp.) */
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);

    /* Tło: stan zamknięty domyślnie, przełącza się na open po dodaniu .is-mega-open */
    background: var(--am-bar-closed);
    transition: background var(--am-dur) var(--am-ease);
}
.ardigen-menu.is-mega-open {
    background: var(--am-bar-open);
}
.ardigen-menu *,
.ardigen-menu *::before,
.ardigen-menu *::after { box-sizing: border-box; }

/* Reset dla elementów, których motyw często dotyka */
.ardigen-menu a { text-decoration: none !important; color: inherit; background: none; }
.ardigen-menu a:hover,
.ardigen-menu a:focus { text-decoration: none; }
.ardigen-menu button {
    font: inherit;
    color: inherit;
    background: none;
    border: none !important;
    padding: 0;
    cursor: pointer;
    margin: 0;
}
.ardigen-menu ul,
.ardigen-menu li { list-style: none; margin: 0; padding: 0; }
.ardigen-menu h4,
.ardigen-menu h5,
.ardigen-menu p { margin: 0; padding: 0; font-weight: inherit; }
.ardigen-menu img { height: auto; display: block; max-width: 120px !important; }
.ardigen-menu svg { display: inline-block; vertical-align: middle; }

/* ---- Inner container (treść max 1312px, wyśrodkowana) ---- */
.ardigen-menu__inner {
    max-width: var(--am-container);
    margin: 0 auto;

    display: flex;
    align-items: center;
    gap: 32px;
    height: 76px;
    position: relative;
    background: transparent;
}

/* ---- Logo ----
   Filter zmienia dowolne kolorystycznie logo w wersję białą (silhouette).
   Jeżeli wgrasz od razu białe logo — usuń poniższy filter. */
.ardigen-menu__logo-link { display: inline-flex; align-items: center; }
.ardigen-menu__logo {
    height: 26px;
    width: auto;
    display: block;
    filter: brightness(0) invert(1);
    transition: filter var(--am-dur) var(--am-ease);
}
.ardigen-menu__logo-text {
    font-weight: 500;
    color: #fff;
    font-size: 1.1rem;
    letter-spacing: -0.02em;
}

/* ---- Nav ---- */
.ardigen-menu__nav {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-left: auto;
}
.ardigen-menu__nav a,
.ardigen-menu__nav .mega-trigger {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    padding: 6px 2px;
    position: relative;
    line-height: 1.4;
    transition: color var(--am-dur) var(--am-ease);
}
.ardigen-menu__plain { white-space: nowrap; color: #fff !important; transition: color var(--am-dur) var(--am-ease); }

/* Kolory nawigacji zmieniają się razem z tłem paska */
.ardigen-menu.is-mega-open .ardigen-menu__nav a,
.ardigen-menu.is-mega-open .ardigen-menu__nav .mega-trigger {
    color: var(--am-text);
}
.ardigen-menu.is-mega-open .ardigen-menu__plain {
    color: var(--am-text) !important;
}

/* Underline pod aktywną pozycją nav (gdy dropdown otwarty) */
.ardigen-menu .has-mega.is-open .mega-trigger::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    bottom: -4px;
    height: 2px;
    background: var(--am-text);
}

/* ---- Mega trigger + panel ---- */
.ardigen-menu .has-mega { position: static; display: inline-flex; align-items: center; }
.ardigen-menu .mega-trigger {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}
.ardigen-menu .mega-trigger .mega-chev {
    width: 14px; height: 14px;
    transition: transform var(--am-dur) var(--am-ease);
}
.ardigen-menu .has-mega.is-open .mega-trigger .mega-chev { transform: rotate(180deg); }

.ardigen-menu .mega {
    position: absolute;
    top: 100%;
    /* Wyłamanie z __inner (1312px) — tło rozciąga się na 100vw */
    left: calc(50% - 50vw);
    width: 100vw;
    background: var(--am-bar-open); /* tło = kolor paska w stanie open */
    box-shadow: var(--am-shadow);
    padding: 0px 50px 16px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition:
            opacity var(--am-dur) var(--am-ease),
            transform var(--am-dur) var(--am-ease),
            visibility 0s linear var(--am-dur);
    z-index: 190;
}
.ardigen-menu .has-mega.is-open .mega {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
            opacity var(--am-dur) var(--am-ease),
            transform var(--am-dur) var(--am-ease),
            visibility 0s;
}
.ardigen-menu .mega__inner {
    max-width: var(--am-container);
    margin: 0 auto;
    padding: 0 10px;
    background: var(--am-bar-open);
    border: 1px solid #7758B8;
}
.ardigen-menu .mega__body {
    display: grid;
    gap: 10px;
    align-items: stretch;
}
.ardigen-menu .mega__inner--grouped .mega__body { grid-template-columns: 300px minmax(0,1fr); }
.ardigen-menu .mega__inner--flat    .mega__body { grid-template-columns: minmax(0,1fr); }

/* ---- Rail (lewy panel sub-grup) ---- */
.ardigen-menu .mega__rail {
    display: flex;
    flex-direction: column;
    padding-right:  10px;
    border-right: 1px solid var(--am-border);
}
.ardigen-menu .mega__rail-slot {
    padding: 15px 0;
    border-bottom: 1px solid var(--am-border);
}
.ardigen-menu .mega__rail-slot:last-child { border-bottom: none; }

.ardigen-menu .mega-rail__item {
    width: 100%;
    text-align: left;
    padding: 20px 15px;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--am-text);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    line-height: 1.3;
    background: transparent;
    cursor: pointer;
    transition: background var(--am-dur) var(--am-ease);
    text-decoration: none;
    white-space: collapse;
}
.ardigen-menu .mega-rail__item:focus{
    background: #e5daf9;
    color: #26185C;
}
.ardigen-menu .mega-rail__item:hover,
.ardigen-menu .mega-rail__item.is-active {
    background: #e5daf9;
    color: #26185C;
}
.ardigen-menu .mega-rail__item-tx {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1;
}
.ardigen-menu .mega-rail__item-t {
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1.25rem;
}
.ardigen-menu .mega-rail__item-d {
    font-size: 14px;
    color: #7758B8;
    line-height: 1.4;
    font-weight: 400;
}
.ardigen-menu .mega-rail__chev {
    width: 16px; height: 16px;
    transform: rotate(-90deg);
    opacity: .5;
    flex: none;
    transition: opacity var(--am-dur);
}
.ardigen-menu .mega-rail__item.is-active .mega-rail__chev,
.ardigen-menu .mega-rail__item:hover .mega-rail__chev { opacity: 1; }
.ardigen-menu .mega-rail__ext {
    width: 14px; height: 14px;
    opacity: .7;
    margin-left: 2px;
}

/* ---- Panel (prawa strona) ---- */
.ardigen-menu .mega__panel {
    min-width: 0;
    display: flex;
    flex-direction: column;
    /* Gap między panel-content a ewentualnym feature dla flat (per-group feature siedzi wewnątrz panel-content). */
    gap: 20px;
}
.ardigen-menu .mega__panel-content {
    display: none;
    flex-direction: column;
    gap: 20px;
}
.ardigen-menu .mega__panel-content.is-active { display: flex; }

.ardigen-menu .mega__overview {
    padding: 34px 4px 46px;
    border-bottom: 1px solid var(--am-border);
    margin-bottom: -20px;
}
.ardigen-menu .mega__overview-t {
    font-size: 2rem;
    font-weight: 500;
    color: var(--am-text);
    line-height: 1.2;
    margin: 0 0 6px;
}
.ardigen-menu .mega__overview-d {
    font-size: 1rem;
    color: #7758B8;
    line-height: 1.5;
}

/* ---- Siatka kafelków ---- */
.ardigen-menu .mega__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
/* Flat layout (bez railu) — 6 kolumn, więcej powietrza */
.ardigen-menu .mega__inner--flat .mega__grid {
    grid-template-columns: repeat(6, 1fr);
}
.ardigen-menu .mega-item {
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 100px;
    border-right: 1px solid var(--am-border);
    border-bottom: 1px solid var(--am-border);
    transition: background var(--am-dur);
}
.ardigen-menu a.mega-item:hover { background-color: #e5daf9; }
.ardigen-menu .mega-item:nth-child(4n) { border-right: none; }
/* W flat layout przywracamy border co 4-tego, zdejmujemy dopiero co 6-tego */
.ardigen-menu .mega__inner--flat .mega-item:nth-child(4n) { border-right: 1px solid var(--am-border); }
.ardigen-menu .mega__inner--flat .mega-item:nth-child(6n) { border-right: none; }
/* Ostatni kafelek w gridzie nigdy nie ma border-right (dla niepełnego rzędu) */
/*.ardigen-menu .mega-item:last-child { border-right: none; }*/
.ardigen-menu .mega-item__bar {
    display: block;
    width: 64px;
    height: 4px;
    border-radius: 1px;
    margin-bottom: 6px;
    background: var(--am-muted);
}
.ardigen-menu .mega-item__t {
    font-size: 1.25rem;
    font-weight: 500;
    color: #352066;
    line-height: 1.25;
}
.ardigen-menu .mega-item:hover .mega-item__t { color: #352066; }
.ardigen-menu .mega-item__d {
    font-size: 1rem;
    color: #7758B8;
    line-height: 1.45;
}
.ardigen-menu .mega-item.is-new .mega-item__t::after {
    content: "New";
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--am-deep);
    background: var(--am-yellow);
    border-radius: var(--am-radius-pill);
    padding: 1px 7px;
    margin-left: 8px;
    vertical-align: middle;
}

/* ---- Feature card (dolny pasek "Where to start") ---- */
.ardigen-menu .mega__feature {
    padding: 16px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    background: transparent;
    border: 1px solid var(--am-border);
    margin-bottom: 20px;
}
.ardigen-menu .mega__feature-ic {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--am-lavender-ic);
    color: var(--am-purple);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}
.ardigen-menu .mega__feature-ic svg { width: 22px; height: 22px; }
.ardigen-menu .mega__feature-tx {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    min-width: 0;
}
.ardigen-menu .mega__feature-eb {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: #26185c;
}
.ardigen-menu .mega__feature-t {
    font-size: 1rem;
    font-weight: 500;
    color: #352066;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    padding: 0;
}
.ardigen-menu .mega__feature-t svg { width: 16px; height: 16px; }
.ardigen-menu .mega__feature-d {
    font-size: 14px;
    color: #7758B8;
    line-height: 1.5;
}

/* ---- Burger + mobile ---- */
.ardigen-menu__burger {
    display: none;
    margin-left: auto;
    padding: 8px;
    flex-direction: column;
    gap: 4px;
}
.ardigen-menu__burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform var(--am-dur), opacity var(--am-dur), background var(--am-dur);
}
.ardigen-menu.is-mega-open .ardigen-menu__burger span { background: var(--am-text); }
.ardigen-menu__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ardigen-menu__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ardigen-menu__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.has-mega .mega-trigger:hover{
    color: #fff !important;
}
.is-mega-open .has-mega .mega-trigger:hover{
    color: #26185C !important;
}

/* ============================================================
   Breakpoint 1199px — przechodzimy do "drawera":
   - burger, nav w akordeonie
   - rail rozjeżdża się na pionowy stos nad panelem
   - grid: 4 kolumny (dla obu layoutów)
   ============================================================ */
@media (max-width: 1199px) {
    .mega__grid{
        border: 1px solid var(--am-border) !important;
    }
    .ardigen-menu { padding: 0; }
    .ardigen-menu .mega-rail__item { border-radius: 0; }

    .ardigen-menu__inner { gap: 16px; padding: 0 24px; }
    .ardigen-menu__burger { display: inline-flex; position: absolute; right: 24px; }

    .ardigen-menu__nav {
        position: absolute;
        left: 0; right: 0; top: 100%;
        background: var(--am-bar-open);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 20px 24px 32px;
        border-top: 1px solid var(--am-border);
        box-shadow: var(--am-shadow);
        max-height: calc(100vh - 76px);
        overflow-y: auto;
        display: none;
        margin-left: 0;
    }
    .ardigen-menu__nav.is-open { display: flex; }

    .ardigen-menu__nav a,
    .ardigen-menu .mega-trigger,
    .ardigen-menu__plain {
        padding: 14px 0;
        width: 100%;
        border-bottom: 1px solid var(--am-border);
        justify-content: space-between;
        color: var(--am-text) !important;
    }
    .ardigen-menu .has-mega { display: block; }
    .ardigen-menu .has-mega.is-open .mega-trigger::after { display: none; }

    .ardigen-menu .mega {
        position: static;
        box-shadow: none;
        border: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
        padding: 0;
        background: transparent;
        left: auto;
        width: auto;
    }
    .ardigen-menu .has-mega.is-open .mega { display: block; }

    .ardigen-menu .mega__inner {
        padding: 0;
        gap: 16px;
        border: none;
        border-radius: 0;
        background: transparent;
    }
    .ardigen-menu .mega__body {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }
    .ardigen-menu .mega__rail {
        border-right: none;
        padding-right: 0;
    }

    /* Grid: 4 kolumny dla obu layoutów */
    .ardigen-menu .mega__grid { grid-template-columns: repeat(4, 1fr) !important; }

    /* Border-right: reset wszystkim + zdejmij co 4-tego + na ostatnim */
    .ardigen-menu .mega-item { border-right: 1px solid var(--am-border) !important; }
    .ardigen-menu .mega-item:nth-child(4n) { border-right: none !important; }
    .ardigen-menu .mega-item:last-child { border-bottom: none !important; }

    .ardigen-menu .mega__feature { display: none; }
}

/* ============================================================
   Breakpoint 800px — grid schodzi na 3 kolumny.
   ============================================================ */
@media (max-width: 800px) {
    .ardigen-menu .mega__grid { grid-template-columns: repeat(3, 1fr) !important; }

    .ardigen-menu .mega-item { border-right: 1px solid var(--am-border) !important; }
    .ardigen-menu .mega-item:nth-child(3n) { border-right: none !important; }
    .ardigen-menu .mega-item:nth-child(4n) { border-right: 1px solid var(--am-border) !important; }
    /*.ardigen-menu .mega-item:last-child { border-right: none !important; }*/
}

/* ============================================================
   Breakpoint 550px — grid schodzi na 2 kolumny.
   ============================================================ */
@media (max-width: 550px) {
    .ardigen-menu .mega__grid { grid-template-columns: repeat(2, 1fr) !important; }

    .ardigen-menu .mega-item { border-right: 1px solid var(--am-border) !important; }
    .ardigen-menu .mega-item:nth-child(2n) { border-right: none !important; }
    .ardigen-menu .mega-item:last-child { border-bottom: none !important; }

    .ardigen-menu .mega-item:nth-child(3n) {  border-right: 1px solid var(--am-border) !important; }
    .ardigen-menu .mega-item:nth-child(4n) { border-right: none !important; }
}