/**
 * Organism: Mega Menu
 *
 * Reference (sahayeni.favortest.xyz):
 *   Background: #242424.
 *   5-sütunlu grid, her sütunda dikey stack sectionlar.
 *   Section title: 22px, weight 500, line-height 26px.
 *   Links: 16px, weight 400, line-height 26px, #fff.
 *   Border-top: 1px solid rgba(255,255,255,0.1) her section üstünde.
 *   Hover: opacity 0.75.
 *   Animasyon: column fade-in, staggered delay.
 *
 * @package Saha
 */

.saha-mega-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--saha-z-mega-menu, 200);
    background-color: #242424;
    color: #FFFFFF;
    max-height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.saha-mega-menu[hidden] {
    display: none;
}

/* ========================
   Top Bar
   ======================== */

.saha-mega-menu__top-bar {
    width: 100%;
}

.saha-mega-menu__top-inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 1600px;
    margin-inline: auto;
    padding: 30px 40px;
}

.saha-mega-menu__top-actions {
    display: flex;
    align-items: center;
    gap: 0;
}

.saha-mega-menu__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    color: #FFFFFF;
}

/* Search icon */
.saha-mega-menu__search .saha-icon {
    width: 18px;
    height: 18px;
}

.saha-mega-menu__search {
    margin-left: 20px;
    margin-right: 35px;
}

/* Close icon */
.saha-mega-menu__close .saha-icon {
    width: 17px;
    height: 18px;
}

/* ========================
   Language Switcher
   ======================== */

.saha-mega-menu__lang {
    display: flex;
    align-items: center;
    gap: 0;
}

.saha-mega-menu__lang-item {
    font-family: var(--saha-font-primary);
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    color: #FFFFFF;
    opacity: 0.5;
    transition: opacity 0.2s ease;
    margin: 0 5px;
}

.saha-mega-menu__lang-item.is-active {
    opacity: 1;
}

.saha-mega-menu__lang-item:hover {
    opacity: 1;
}

/* ========================
   Nav / Columns
   ======================== */

.saha-mega-menu__nav {
    max-width: 1600px;
    margin-inline: auto;
    padding: 57px 40px 105px;
}

.saha-mega-menu__columns {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: auto auto auto;
    column-gap: 30px;
    row-gap: 40px;
}

/* ========================
   Column & Section — subgrid for aligned dividers
   ======================== */

.saha-mega-menu__column {
    grid-row: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Columns 2-5: subgrid for aligned dividers */
.saha-mega-menu__column:not(:first-child) {
    display: grid;
    grid-template-rows: subgrid;
    align-content: start;
}

.saha-mega-menu__section {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 23px;
}

/* Section Title */
.saha-mega-menu__section-title {
    display: block;
    font-family: var(--saha-font-primary);
    font-weight: 500;
    font-size: 22px;
    line-height: 26px;
    letter-spacing: 0;
    color: #FFFFFF;
    text-decoration: none;
    margin: 0 0 16px;
    padding: 0;
}

a.saha-mega-menu__section-title:hover {
    opacity: 0.75;
}

/* ========================
   Menu Links
   ======================== */

.saha-mega-menu__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.saha-mega-menu__links li {
    margin: 0;
    padding: 0;
}

.saha-mega-menu__links a {
    font-family: var(--saha-font-primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0;
    color: #FFFFFF;
    text-decoration: none;
    display: block;
    transition: opacity 0.2s ease;
}

.saha-mega-menu__links a:hover {
    opacity: 0.75;
}

/* ========================
   Fade-in Animation
   ======================== */

@keyframes saha-mega-fade-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.saha-mega-menu__column {
    opacity: 0;
}

.saha-mega-menu.is-open .saha-mega-menu__column {
    animation: saha-mega-fade-in 0.35s ease both;
}

.saha-mega-menu.is-open .saha-mega-menu__column:nth-child(1) {
    animation-delay: 0s;
}

.saha-mega-menu.is-open .saha-mega-menu__column:nth-child(2) {
    animation-delay: 0.1s;
}

.saha-mega-menu.is-open .saha-mega-menu__column:nth-child(3) {
    animation-delay: 0.15s;
}

.saha-mega-menu.is-open .saha-mega-menu__column:nth-child(4) {
    animation-delay: 0.2s;
}

.saha-mega-menu.is-open .saha-mega-menu__column:nth-child(5) {
    animation-delay: 0.25s;
}

/* ========================
   Responsive
   ======================== */

@media (max-width: 1024px) {
    .saha-mega-menu__columns {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .saha-mega-menu__top-inner {
        padding: 20px;
    }

    .saha-mega-menu__nav {
        padding: 20px 20px 40px;
    }

    .saha-mega-menu__columns {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 32px;
    }

    .saha-mega-menu__column,
    .saha-mega-menu__column:not(:first-child) {
        display: flex;
        flex-direction: column;
        grid-row: auto;
        gap: 32px;
    }
}
