
/* =========================================================
   ZELONI — FINAL OPTIMIZED MEGA MENU
   Elementor / Woodmart Safe
   ========================================================= */

.zln-menu{
    --brand:#748873;
    --brand-rgb:116,136,115;
    --dark:#181b18;
    --text:#626962;
    --line:rgba(116,136,115,.15);

    width:100%;
    direction:rtl;
    font-family:"iranyekanmedium","IRANSansX",sans-serif;
}

.zln-menu *,
.zln-menu *:before,
.zln-menu *:after{
    box-sizing:border-box;
}

/* =========================
   MAIN NAV
========================= */

.zln-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;

    width:100%;
    min-height:56px;

    position:relative;
    overflow:visible;
}

.zln-item{
    position:relative;
}

/* MAIN LINK */

.zln-main{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    min-height:56px;
    padding:0 13px;

    color:var(--dark) !important;

    font-size:14px !important;
    font-weight:600;
    line-height:1.5;

    white-space:nowrap;
    text-decoration:none !important;

    border-radius:8px;

    transition:
        color .18s ease,
        background .18s ease;
}

.zln-main:hover,
.zln-item.zln-active > .zln-main{
    color:var(--brand) !important;
    background:rgba(var(--brand-rgb),.055);
}

/* UNDERLINE */

.zln-main:before{
    content:"";

    position:absolute;

    right:50%;
    bottom:5px;

    width:0;
    height:2px;

    border-radius:20px;
    background:var(--brand);

    transform:translateX(50%);

    transition:width .18s ease;
}

.zln-item:hover > .zln-main:before,
.zln-item.zln-active > .zln-main:before{
    width:23px;
}

/* ARROW */

.zln-arrow{
    width:6px;
    height:6px;

    border-left:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;

    transform:rotate(-45deg);

    opacity:.55;

    transition:transform .18s ease;
}

.zln-active .zln-arrow{
    transform:rotate(135deg);
}


/* =========================================================
   MEGA MENU
   IMPORTANT:
   FIXED = relative to viewport
========================================================= */

.zln-mega{
    position:fixed !important;

    z-index:99999999 !important;

    left:50vw !important;
    right:auto !important;

    width:min(1080px,calc(100vw - 40px));

    margin:0 !important;
    padding-top:8px;

    visibility:hidden;
    opacity:0;

    pointer-events:none;

    transform:
        translateX(-50%)
        translateY(6px);

    transition:
        opacity .15s ease,
        transform .15s ease,
        visibility .15s;
}

/* OPEN */

.zln-item.zln-active > .zln-mega{
    visibility:visible;
    opacity:1;

    pointer-events:auto;

    transform:
        translateX(-50%)
        translateY(0);
}

/* INVISIBLE HOVER BRIDGE */

.zln-mega:before{
    content:"";

    position:absolute;

    left:0;
    right:0;
    top:-15px;

    height:24px;
}


/* =========================================================
   PANEL
========================================================= */

.zln-panel{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        245px;

    gap:30px;

    width:100%;
    min-height:305px;

    padding:28px;

    overflow:hidden;

    border:1px solid rgba(var(--brand-rgb),.14);
    border-radius:18px;

    background:#fff;

    box-shadow:
        0 25px 65px rgba(20,30,20,.14);
}

/* SOFT DECORATION */

.zln-panel:after{
    content:"";

    position:absolute;

    width:330px;
    height:330px;

    right:-190px;
    bottom:-235px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(var(--brand-rgb),.10),
            transparent 68%
        );

    pointer-events:none;
}


/* =========================================================
   CONTENT
========================================================= */

.zln-content{
    position:relative;
    z-index:2;
    min-width:0;
}

/* HEADER */

.zln-head{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    margin-bottom:21px;
    padding-bottom:14px;

    border-bottom:1px solid var(--line);
}

.zln-heading{
    display:flex;
    align-items:center;
    gap:10px;
}

.zln-dot{
    width:7px;
    height:7px;

    flex:0 0 7px;

    border-radius:50%;
    background:var(--brand);
}

.zln-heading strong{
    color:var(--dark);

    font-size:17px !important;
    font-weight:700;
}

.zln-en{
    direction:ltr;

    color:#999f99;

    font-family:Arial,sans-serif;

    font-size:9px;
    letter-spacing:2px;
}

/* VIEW ALL */

.zln-all{
    display:flex;
    align-items:center;
    gap:7px;

    color:var(--brand) !important;

    font-size:14px !important;
    font-weight:600;

    text-decoration:none !important;
}

.zln-all span{
    font-family:Arial,sans-serif;
    font-size:17px;

    transition:transform .18s ease;
}

.zln-all:hover span{
    transform:translateX(-3px);
}


/* =========================================================
   COLUMNS
========================================================= */

.zln-columns{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:28px;
}

.zln-columns.two{
    grid-template-columns:
        repeat(2,minmax(0,1fr));
}

.zln-column{
    min-width:0;
}

.zln-column-title{
    position:relative;

    display:inline-flex;

    margin-bottom:11px;
    padding-right:11px;

    color:var(--dark) !important;

    font-size:15px !important;
    font-weight:700;
    line-height:1.8;

    text-decoration:none !important;
}

.zln-column-title:before{
    content:"";

    position:absolute;

    right:0;
    top:5px;

    width:3px;
    height:17px;

    border-radius:10px;

    background:var(--brand);
}


/* =========================================================
   LINKS
========================================================= */

.zln-links{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:2px 10px;

    margin:0 !important;
    padding:0 !important;

    list-style:none !important;
}

.zln-links.single{
    grid-template-columns:1fr;
}

.zln-links li{
    margin:0 !important;
    padding:0 !important;
}

.zln-links a{
    position:relative;

    display:flex;
    align-items:center;

    min-height:36px;

    padding:4px 13px 4px 7px;

    border-radius:7px;

    color:var(--text) !important;

    font-size:14px !important;
    font-weight:400;
    line-height:1.7;

    text-decoration:none !important;

    transition:
        color .15s ease,
        background .15s ease,
        padding-right .15s ease;
}

.zln-links a:before{
    content:"";

    position:absolute;
    right:3px;

    width:4px;
    height:4px;

    border-radius:50%;

    background:rgba(var(--brand-rgb),.42);
}

.zln-links a:hover{
    padding-right:17px;

    color:var(--brand) !important;

    background:rgba(var(--brand-rgb),.06);
}

.zln-links a:hover:before{
    background:var(--brand);
}


/* =========================================================
   EDITORIAL CARD
========================================================= */

.zln-card{
    position:relative;
    z-index:2;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    min-height:248px;

    padding:23px;

    overflow:hidden;

    border-radius:14px;

    background:
        linear-gradient(
            145deg,
            #f2f3ef,
            #dfe6dc
        );
}

.zln-letter{
    position:absolute;

    top:-35px;
    left:-10px;

    direction:ltr;

    font-family:Georgia,"Times New Roman",serif;

    font-size:175px;
    line-height:1;

    color:rgba(var(--brand-rgb),.09);

    pointer-events:none;
}

.zln-card-body{
    position:relative;
    z-index:2;
}

.zln-card-label{
    display:block;

    margin-bottom:9px;

    direction:ltr;

    color:var(--brand);

    font-family:Arial,sans-serif;

    font-size:9px;
    letter-spacing:2px;
}

.zln-card strong{
    display:block;

    margin-bottom:6px;

    color:var(--dark);

    font-size:19px !important;
    font-weight:700;
}

.zln-card p{
    margin:0 !important;

    color:#687068;

    font-size:14px !important;
    line-height:1.9;
}


/* =========================================================
   ELEMENTOR FIX
========================================================= */

.zln-menu{
    overflow:visible !important;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px) and (min-width:768px){

    .zln-main{
        padding:0 8px;
        font-size:14px !important;
    }

    .zln-mega{
        width:calc(100vw - 30px);
    }

    .zln-panel{
        grid-template-columns:
            minmax(0,1fr)
            210px;

        gap:20px;

        padding:22px;
    }

    .zln-columns{
        gap:18px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .zln-nav{
        display:block;
        min-height:0;
    }

    .zln-item{
        position:relative;

        border-bottom:
            1px solid var(--line);
    }

    .zln-main{
        justify-content:space-between;

        min-height:50px;

        padding:0 10px;

        font-size:14px !important;
    }

    .zln-main:before{
        display:none;
    }

    .zln-mega{
        position:relative !important;

        top:auto !important;
        left:auto !important;
        right:auto !important;

        width:100% !important;

        max-height:0;

        padding:0;

        overflow:hidden;

        visibility:hidden;
        opacity:0;

        pointer-events:none;

        transform:none !important;

        transition:
            max-height .3s ease,
            opacity .18s ease;
    }

    .zln-mega:before{
        display:none;
    }

    .zln-item.zln-active > .zln-mega{
        max-height:2200px;

        visibility:visible;
        opacity:1;

        pointer-events:auto;

        transform:none !important;
    }

    .zln-panel{
        display:block;

        min-height:0;

        padding:19px 10px 22px;

        border:0;
        border-radius:0;

        background:#fafbf9;

        box-shadow:none;
    }

    .zln-panel:after{
        display:none;
    }

    .zln-en{
        display:none;
    }

    .zln-columns,
    .zln-columns.two{
        grid-template-columns:1fr;
        gap:20px;
    }

    .zln-links,
    .zln-links.single{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .zln-card{
        display:none;
    }
}

/* Full viewport panel, independent of Elementor transformed ancestors. */
.zln-mega.zln-portal{position:fixed!important;left:0!important;right:auto!important;width:100%!important;max-width:none!important;padding-top:0;transform:none!important;direction:rtl;font-family:"iranyekanmedium","IRANSansX",sans-serif;--brand:#748873;--brand-rgb:116,136,115;--dark:#181b18;--text:#626962;--line:rgba(116,136,115,.15)}
.zln-portal,.zln-portal *{box-sizing:border-box}
.zln-mega.zln-is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none!important}
.zln-portal .zln-panel{border-radius:0 0 18px 18px;padding:30px max(28px,calc((100vw - 1440px)/2));max-height:var(--zln-available,70vh);overflow:auto;overscroll-behavior:contain;grid-template-columns:1fr}
.zln-portal .zln-columns{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px}
.zln-tree,.zln-tree ul{list-style:none!important;margin:0!important;padding:0!important}
.zln-tree ul{padding-right:14px!important;border-right:1px solid var(--line)}
.zln-tree a{display:block;padding:7px 10px;color:var(--text)!important;font-size:14px;line-height:1.8;text-decoration:none!important;border-radius:6px}
.zln-tree a:hover{background:rgba(var(--brand-rgb),.07);color:var(--brand)!important}
.zln-toggle{display:flex!important;align-items:center;justify-content:center;width:28px;height:32px;padding:0!important;border:0!important;background:transparent!important;color:var(--dark)!important;cursor:pointer}
.zln-main-row{display:flex;align-items:center}
.zln-main:focus-visible,.zln-toggle:focus-visible,.zln-mega a:focus-visible{outline:2px solid #748873;outline-offset:2px}
.zln-menu .zln-main-row>.zln-main{padding-left:3px}
@media(max-width:767px){.zln-main-row{justify-content:space-between}.zln-main-row>.zln-main{flex:1;justify-content:flex-start}.zln-toggle{width:44px}.zln-mega .zln-panel{max-height:65vh;overflow:auto}.zln-mega .zln-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.zln-head{gap:10px}.zln-heading strong{font-size:16px!important}.zln-all{white-space:nowrap}}
@media(max-width:420px){.zln-mega .zln-columns{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.zln-menu *,.zln-mega *{transition:none!important}}

/* Restore the supplied menu's editorial layout, with a full-width outer panel. */
.zln-portal .zln-panel{grid-template-columns:minmax(0,1fr) 245px;gap:30px;min-height:305px}
.zln-portal .zln-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.zln-portal .zln-column>.zln-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px}
.zln-tree a{position:relative;padding:4px 13px 4px 7px;min-height:36px;font-size:14px;line-height:1.7}
.zln-tree a:before{content:"";position:absolute;right:3px;top:17px;width:4px;height:4px;border-radius:50%;background:rgba(var(--brand-rgb),.42)}
.zln-main-row>.zln-main{padding-left:3px}.zln-main-row>.zln-toggle{width:18px;margin-left:10px}
.zln-portal .zln-panel:has(>.zln-content:last-child){grid-template-columns:1fr}
@media(min-width:768px) and (max-width:1100px){.zln-portal .zln-panel{grid-template-columns:minmax(0,1fr) 210px;gap:20px;padding:22px}.zln-portal .zln-columns{gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.zln-main-row>.zln-toggle{width:44px;margin:0}.zln-column>.zln-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px}.zln-mega .zln-columns{grid-template-columns:1fr}}

/* Dedicated mobile drawer menu: accordion at every screen width. */
.zln-mobile-menu{width:100%;padding:8px 6px;border-radius:14px;background:#fff}
.zln-mobile-menu .zln-nav{display:block;min-height:0}
.zln-mobile-menu .zln-item{position:relative;border-bottom:1px solid var(--line)}
.zln-mobile-menu .zln-item:last-child{border-bottom:0}
.zln-mobile-menu .zln-main-row{display:flex;justify-content:space-between;gap:8px}
.zln-mobile-menu .zln-main{justify-content:flex-start;min-height:52px;padding:0 12px;font-size:15px!important;flex:1;border-radius:10px}
.zln-mobile-menu .zln-main:before{display:none}
.zln-mobile-menu .zln-main-row>.zln-toggle{flex:0 0 38px;width:38px;height:38px;margin:7px 0 7px 5px;border-radius:10px;background:rgba(var(--brand-rgb),.07)!important}
.zln-mobile-menu .zln-active>.zln-main-row{background:rgba(var(--brand-rgb),.04);border-radius:10px}
.zln-mobile-menu .zln-mega{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;padding:0;transform:none!important;visibility:hidden;opacity:0;max-height:0;overflow:hidden;pointer-events:none}
.zln-mobile-menu .zln-mega:before{display:none}
.zln-mobile-menu .zln-active>.zln-mega{max-height:none;visibility:visible;opacity:1;pointer-events:auto;transform:none!important}
.zln-mobile-menu .zln-panel{display:block;min-height:0;padding:15px 12px 20px;max-height:65vh;overflow:auto;overscroll-behavior:contain;border:0;border-radius:0 0 12px 12px;box-shadow:none;background:#fafbf9}
.zln-mobile-menu .zln-panel:after,.zln-mobile-menu .zln-card{display:none}
.zln-mobile-menu .zln-head{gap:12px;margin-bottom:16px;padding-bottom:12px}
.zln-mobile-menu .zln-heading{gap:8px;min-width:0}
.zln-mobile-menu .zln-heading strong{font-size:15px!important}
.zln-mobile-menu .zln-all{font-size:12px!important;white-space:nowrap}
.zln-mobile-menu .zln-columns{display:grid;grid-template-columns:1fr;gap:20px}
.zln-mobile-menu .zln-column-title{font-size:14px!important;margin-bottom:8px}
.zln-mobile-menu .zln-links,.zln-mobile-menu .zln-links.single,.zln-mobile-menu .zln-column>.zln-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 6px}
.zln-mobile-menu .zln-tree ul{display:block}
.zln-mobile-menu .zln-links a,.zln-mobile-menu .zln-tree a{min-height:40px;display:flex;align-items:center;font-size:13px!important;line-height:1.8;background:rgba(var(--brand-rgb),.035);border-radius:8px}
@media(max-width:300px){.zln-mobile-menu .zln-links,.zln-mobile-menu .zln-links.single,.zln-mobile-menu .zln-column>.zln-tree{grid-template-columns:1fr}}
