html.tmm-scroll-lock,
body.tmm-scroll-lock {
    overflow: hidden !important;
    overscroll-behavior: none;
}

.tmm-shell,
.tmm-shell *,
.tmm-shell *::before,
.tmm-shell *::after {
    box-sizing: border-box;
}

.tmm-shell {
    display: inline-flex;
    vertical-align: middle;
    font-family: inherit;
    -webkit-tap-highlight-color: transparent;
}

.tmm-shell[hidden] {
    display: inline-flex !important;
}

.tmm-launcher {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(30, 35, 40, .10) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #25282b !important;
    box-shadow: 0 1px 3px rgba(30, 35, 40, .04) !important;
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tmm-launcher:hover,
.tmm-launcher:focus-visible {
    border-color: rgba(30, 35, 40, .22) !important;
    box-shadow: 0 2px 8px rgba(30, 35, 40, .08) !important;
}

.tmm-launcher:active {
    transform: scale(.96);
}

.tmm-launcher:focus-visible,
.tmm__close:focus-visible,
.tmm__rail-item:focus-visible,
.tmm__accordion-toggle:focus-visible,
.tmm__back:focus-visible,
.tmm a:focus-visible {
    outline: 2px solid #1677ff;
    outline-offset: 2px;
}

.tmm-launcher__line {
    width: 21px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    display: block;
}

.tmm-overlay[hidden] {
    display: none !important;
}

.tmm-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    pointer-events: none;
    visibility: hidden;
    transition: visibility 0s linear .28s;
}

.tmm-backdrop {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(14, 18, 22, .42) !important;
    opacity: 0;
    cursor: default;
    transition: opacity .24s ease;
}

.tmm-drawer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(100%, 520px);
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    padding-top: env(safe-area-inset-top, 0px);
    padding-right: env(safe-area-inset-right, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    padding-left: env(safe-area-inset-left, 0px);
    background: #fff;
    box-shadow: -14px 0 38px rgba(13, 20, 26, .15);
    transform: translate3d(100%, 0, 0);
    will-change: transform;
    transition: transform .28s cubic-bezier(.22, .61, .36, 1);
    overflow: hidden;
    container-type: inline-size;
    container-name: tmm-drawer;
}

.tmm-shell.is-open .tmm-overlay {
    pointer-events: auto;
    visibility: visible;
    transition-delay: 0s;
}

.tmm-shell.is-open .tmm-backdrop {
    opacity: 1;
}

.tmm-shell.is-open .tmm-drawer {
    transform: translate3d(0, 0, 0);
}

.tmm,
.tmm * {
    box-sizing: border-box;
}

.tmm {
    --tmm-bg: #ffffff;
    --tmm-soft: #f5f7f9;
    --tmm-border: #e7ebef;
    --tmm-text: #2f2f30;
    --tmm-muted: #6f7782;
    --tmm-blue: #1677ff;
    --tmm-highlight: #e4ab00;
    --tmm-rail: clamp(82px, 22vw, 104px);
    --tmm-radius: 8px;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: var(--tmm-bg);
    color: var(--tmm-text);
    direction: rtl;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    -webkit-tap-highlight-color: transparent;
}

.tmm a {
    color: inherit;
    text-decoration: none !important;
}

/*
 * Keep submenu text independent from global Theme/Elementor link/button states.
 * These selectors intentionally cover every interactive state so live-site
 * branding cannot turn submenu labels red/white on hover, tap, or visit.
 */
.tmm .tmm__simple-row,
.tmm .tmm__simple-row:link,
.tmm .tmm__simple-row:visited,
.tmm .tmm__simple-row:hover,
.tmm .tmm__simple-row:focus,
.tmm .tmm__simple-row:focus-visible,
.tmm .tmm__simple-row:active,
.tmm .tmm__accordion-toggle,
.tmm .tmm__accordion-toggle:hover,
.tmm .tmm__accordion-toggle:focus,
.tmm .tmm__accordion-toggle:focus-visible,
.tmm .tmm__accordion-toggle:active,
.tmm .tmm__card,
.tmm .tmm__card:link,
.tmm .tmm__card:visited,
.tmm .tmm__card:hover,
.tmm .tmm__card:focus,
.tmm .tmm__card:focus-visible,
.tmm .tmm__card:active {
    color: var(--tmm-text) !important;
}

.tmm .tmm__simple-row > span:first-child,
.tmm .tmm__accordion-toggle > span:first-child,
.tmm .tmm__card-label {
    color: inherit !important;
}

.tmm button {
    font: inherit;
    text-transform: none;
    letter-spacing: normal;
}

.tmm__topbar {
    direction: ltr;
    min-height: 46px;
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 46px 1fr 46px;
    align-items: center;
    border-top: 3px solid #2f2f2f;
    border-bottom: 1px solid #f0f1f2;
    background: #fff;
}

.tmm__close {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 44px !important;
    height: 42px !important;
    min-width: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #70767d !important;
    box-shadow: none !important;
    font-size: 24px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    display: inline-grid !important;
    place-items: center;
    cursor: pointer;
    justify-self: end;
}

.tmm__close:hover {
    color: #262a2e !important;
    background: #f7f8f9 !important;
}

.tmm__close--floating {
    position: absolute !important;
    top: max(8px, env(safe-area-inset-top, 0px));
    left: 8px;
    z-index: 5;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 1px 8px rgba(30, 35, 40, .08) !important;
}

.tmm__brand {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
}

.tmm__brand .custom-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 110px;
    max-height: 32px;
}

.tmm__brand .custom-logo {
    width: auto;
    height: auto;
    max-width: 110px;
    max-height: 30px;
    object-fit: contain;
}

.tmm__site-name {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 800;
}

.tmm__topbar-spacer {
    width: 46px;
    height: 1px;
}

.tmm__meta-row {
    min-height: 44px;
    padding: 0 12px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: #fff;
    border-bottom: 1px solid #f0f1f2;
    font-size: 12px;
}

.tmm__meta-row strong {
    font-weight: 700;
    white-space: nowrap;
}

.tmm__meta-row a {
    min-width: 0;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--tmm-blue);
    font-weight: 500;
    white-space: nowrap;
}

.tmm__content {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--tmm-rail);
    grid-template-areas: "panels rail";
    direction: ltr;
    background: #fff;
}

.tmm--no-header .tmm__content {
    height: 100%;
}

.tmm__rail {
    grid-area: rail;
    direction: rtl;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    background: #fff;
    border-left: 1px solid #edf0f2;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.tmm__rail::-webkit-scrollbar,
.tmm__panels::-webkit-scrollbar,
.tmm__panel::-webkit-scrollbar {
    display: none;
}

.tmm__rail-item {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    min-height: 72px;
    margin: 0 !important;
    padding: 7px 5px 6px !important;
    border: 0 !important;
    border-bottom: 1px solid #f1f3f5 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #454a50 !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    position: relative;
    transition: background-color .16s ease, color .16s ease;
}

.tmm__rail-item.is-active {
    background: #fff !important;
    color: #22272b !important;
}

.tmm__rail-item.is-active::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid #e8ebee;
    border-radius: 8px;
    pointer-events: none;
    box-shadow: 0 1px 3px rgba(30, 35, 40, .03);
}

.tmm__rail-item.is-highlight .tmm__rail-icon,
.tmm__rail-item.is-highlight .tmm__rail-label {
    color: var(--tmm-highlight);
}

.tmm__rail-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    color: #557080;
    position: relative;
    z-index: 1;
}

.tmm__rail-icon img,
.tmm__rail-icon svg {
    width: 24px;
    height: 24px;
    object-fit: contain;
    display: block;
}

.tmm__rail-label {
    width: 100%;
    position: relative;
    z-index: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 500;
}

.tmm__panels {
    grid-area: panels;
    direction: rtl;
    min-width: 0;
    min-height: 0;
    background: #fff;
    overflow: hidden;
}

.tmm__panel {
    width: 100%;
    height: 100%;
    padding: 0 10px 18px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #fff;
}

.tmm__panel[hidden] {
    display: none !important;
}

.tmm__panel-head {
    min-height: 44px;
    padding: 8px 0 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid #f1f2f3;
}

.tmm__back {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-width: 0;
    margin: 0 !important;
    min-height: 44px;
    padding: 8px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #59616b !important;
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    font-size: 11px !important;
    cursor: pointer;
    white-space: nowrap;
}

.tmm__back-chevron,
.tmm__row-chevron,
.tmm__accordion-chevron {
    width: 6px;
    height: 6px;
    border-style: solid;
    border-color: currentColor;
    border-width: 1px 1px 0 0;
    display: inline-block;
    flex: 0 0 auto;
}

.tmm__back-chevron {
    transform: rotate(-135deg);
}

.tmm__all-products {
    max-width: 58%;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--tmm-blue) !important;
    font-size: 11px;
    font-weight: 500;
}

.tmm__panel-title {
    display: block;
    margin: 11px 2px 9px;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 800;
    color: #30353a;
}

.tmm__sections {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tmm__accordion,
.tmm__simple-row {
    border-radius: var(--tmm-radius);
    background: var(--tmm-soft);
}

.tmm__accordion {
    overflow: hidden;
}

.tmm__accordion-toggle,
.tmm__simple-row {
    width: 100%;
    min-height: 44px;
    padding: 10px 11px;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #30353a;
    font-size: 12px;
    font-weight: 600;
    text-align: right;
}

.tmm__accordion-toggle {
    appearance: none !important;
    -webkit-appearance: none !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
}

.tmm__simple-row {
    text-decoration: none;
}

.tmm__simple-row.is-static {
    cursor: default;
}

.tmm__row-chevron {
    transform: rotate(-135deg);
    color: #777f87;
}

.tmm__accordion-chevron {
    transform: rotate(135deg);
    color: #6c747d;
    transition: transform .16s ease;
}

.tmm__accordion.is-open .tmm__accordion-chevron {
    transform: rotate(-45deg);
}

.tmm__accordion-body {
    padding: 4px 8px 10px;
}

.tmm__accordion-body[hidden] {
    display: none !important;
}

.tmm__card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px 6px;
}

.tmm__card {
    min-width: 0;
    min-height: 84px;
    padding: 4px 2px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    text-align: center;
    color: #2f3439;
}

.tmm__card-media {
    width: clamp(40px, 12vw, 48px);
    height: clamp(40px, 12vw, 48px);
    border-radius: 50%;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #fff;
    color: #69727a;
    box-shadow: 0 0 0 1px rgba(226, 230, 233, .9);
}

.tmm__card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}

.tmm__card-media svg {
    width: 22px;
    height: 22px;
}

.tmm__card-label {
    width: 100%;
    min-height: 28px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 10.5px;
    line-height: 1.5;
    font-weight: 500;
}

.tmm__card:hover .tmm__card-media,
.tmm__card:focus-visible .tmm__card-media {
    box-shadow: 0 0 0 2px rgba(22, 119, 255, .18);
}

@container tmm-drawer (max-width: 280px) {
    .tmm__card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tmm-admin-note {
    padding: 10px 12px;
    border: 1px solid #dcdcde;
    background: #fff;
    color: #2c3338;
    font: 13px/1.7 sans-serif;
    direction: rtl;
}

@media (min-width: 1025px) {
    .tmm-shell:not(.tmm-shell--all) {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .tmm-drawer {
        width: 100%;
        box-shadow: none;
    }
}

@media (max-width: 390px) {
    .tmm {
        --tmm-rail: clamp(78px, 24vw, 88px);
    }

    .tmm__rail-item {
        min-height: 64px;
    }

    .tmm__rail-label,
    .tmm__back,
    .tmm__all-products {
        font-size: 10.5px !important;
    }

    .tmm__panel {
        padding-inline: 7px;
    }

    .tmm__accordion-toggle,
    .tmm__simple-row {
        padding-inline: 8px;
    }
}

@media (max-width: 320px) {
    .tmm {
        --tmm-rail: 74px;
    }

    .tmm__card-grid {
        gap: 7px 4px;
    }

    .tmm__rail-label {
        font-size: 10px !important;
    }

    .tmm__card-label {
        font-size: 10px;
    }
}

@media (max-height: 520px) and (orientation: landscape) {
    .tmm__topbar {
        min-height: 40px;
        grid-template-columns: 42px 1fr 42px;
    }

    .tmm__meta-row {
        min-height: 34px;
    }

    .tmm__rail-item {
        min-height: 58px;
    }

    .tmm__rail-icon {
        width: 23px;
        height: 23px;
    }

    .tmm__rail-icon img,
    .tmm__rail-icon svg {
        width: 21px;
        height: 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tmm-shell *,
    .tmm-shell *::before,
    .tmm-shell *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}
