/* =========================================================
   UI 021B — GLOBAL CUSTOMER ACCOUNT NAVIGATION
   The shared customer-menu.blade.php is used by multiple account pages.
   This file is loaded globally for Luxe so those pages never render the
   navigation unstyled.
   ========================================================= */

.ds21-account-menu {
    color: #171717;
    background: transparent;
    border: 0;
    font-family: Inter, Arial, sans-serif;
}

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

.ds21-account-menu a {
    color: inherit;
    text-decoration: none;
}

.ds21-account-menu__head {
    padding: 0 0 19px;
    border-bottom: 1px solid #e2dcd3;
}

.ds21-account-menu__head p {
    margin: 0 0 7px;
    color: #8a8278;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.3;
    text-transform: uppercase;
}

.ds21-account-menu__head strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #171717;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ds21-account-menu__links {
    display: grid;
    padding: 10px 0;
}

.ds21-account-menu__links a,
.ds21-account-menu__logout {
    position: relative;
    width: 100%;
    min-height: 47px;
    padding: 0 7px;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    border: 0;
    border-bottom: 1px solid #eee9e2;
    background: transparent;
    color: #686158;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
    transition:
        color .16s ease,
        padding .16s ease,
        background .16s ease;
}

.ds21-account-menu__links a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    bottom: 11px;
    width: 2px;
    background: transparent;
}

.ds21-account-menu__links a:hover {
    padding-left: 11px;
    color: #171717;
    background: #faf7f2;
}

.ds21-account-menu__links a.active {
    color: #171717;
    font-weight: 700;
}

.ds21-account-menu__links a.active::before {
    background: #9b783e;
}

.ds21-account-menu .material-symbols-outlined {
    width: 20px;
    overflow: hidden;
    display: inline-grid;
    place-items: center;
    font-size: 17px;
    font-weight: 300;
    line-height: 1;
}

.ds21-account-menu__logout {
    margin-top: 15px;
    border-bottom: 0;
    color: #8d4e45;
}

.ds21-account-menu__logout:hover {
    color: #6e3028;
    background: #fbf4f2;
}

/*
 * Legacy customer wrappers sometimes carry Bootstrap/menu styles.
 * Neutralize only around the new shared account navigation.
 */
.ds21-account-menu ul,
.ds21-account-menu li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ds21-account-menu a::after {
    content: none !important;
}

.user-sidebar-menu:has(.ds21-account-menu),
.my-account-section .ds21-account-menu {
    width: 100%;
    min-width: 0;
}

/*
 * Dashboard v20 has a 220px sidebar, Orders v21 has a 205px sidebar.
 * Keep both layouts stable and prevent the account menu from forcing a
 * wider column or overflowing into page content.
 */
.ds20-account__sidebar,
.ds21-account-sidebar {
    min-width: 0;
    max-width: 100%;
}

.ds20-account__sidebar .ds21-account-menu,
.ds21-account-sidebar .ds21-account-menu {
    width: 100%;
    max-width: 100%;
}

/* Tablet/mobile — turn shared sidebar into a compact horizontal nav. */
@media (max-width: 900px) {
    .ds21-account-menu__head {
        display: none;
    }

    .ds21-account-menu__links {
        width: 100%;
        display: flex;
        gap: 7px;
        padding: 0 0 10px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .ds21-account-menu__links::-webkit-scrollbar {
        display: none;
    }

    .ds21-account-menu__links a {
        flex: 0 0 auto;
        width: auto;
        min-height: 38px;
        padding: 0 12px;
        border: 1px solid #ddd6cd;
        border-radius: 99px;
        grid-template-columns: 18px auto;
        gap: 6px;
        background: #fff;
        color: #5f5952;
        white-space: nowrap;
        scroll-snap-align: start;
    }

    .ds21-account-menu__links a::before {
        display: none;
    }

    .ds21-account-menu__links a:hover {
        padding-left: 12px;
        background: #f7f3ed;
    }

    .ds21-account-menu__links a.active {
        border-color: #171717;
        background: #171717;
        color: #fff;
    }

    .ds21-account-menu__logout {
        display: none;
    }
}

@media (max-width: 520px) {
    .ds21-account-menu__links {
        margin-inline: 0;
    }

    .ds21-account-menu__links a {
        min-height: 36px;
        padding-inline: 10px;
        font-size: 10px;
    }

    .ds21-account-menu .material-symbols-outlined {
        font-size: 15px;
    }
}
