/* ==========================================================================
   GreenMarket — Site shell (header, mega menu, footer, support banner)
   Figma: 307:4151 (home, desktop) · 307:3182 (mega menu) · 307:5222 (mobile)
   Loaded after the legacy theme sheets, so it is the single source of truth
   for the shell. Content width 1224px (108px gutters at 1440px).
   ========================================================================== */

@font-face { font-family: "GMSans"; font-weight: 400; font-style: normal; font-display: swap; src: url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff2/IRANSansXFaNum-Regular.woff2") format("woff2"), url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff/IRANSansXFaNum-Regular.woff") format("woff"); }
@font-face { font-family: "GMSans"; font-weight: 500; font-style: normal; font-display: swap; src: url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff2/IRANSansXFaNum-Medium.woff2") format("woff2"), url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff/IRANSansXFaNum-Medium.woff") format("woff"); }
@font-face { font-family: "GMSans"; font-weight: 600; font-style: normal; font-display: swap; src: url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff2/IRANSansXFaNum-DemiBold.woff2") format("woff2"), url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff/IRANSansXFaNum-DemiBold.woff") format("woff"); }
@font-face { font-family: "GMSans"; font-weight: 700; font-style: normal; font-display: swap; src: url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff2/IRANSansXFaNum-Bold.woff2") format("woff2"), url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff/IRANSansXFaNum-Bold.woff") format("woff"); }
@font-face { font-family: "GMSans"; font-weight: 800; font-style: normal; font-display: swap; src: url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff2/IRANSansXFaNum-ExtraBold.woff2") format("woff2"), url("../../assets/fonts/IranSans/FarsiNumerals/Webfonts/Woff/IRANSansXFaNum-ExtraBold.woff") format("woff"); }

:root {
    --gm-s-green: #00b274;
    --gm-s-green-600: #008e5d;
    --gm-s-green-700: #009964;
    --gm-s-ink: #3e3e3e;
    --gm-s-ink-2: #6e6e6e;
    --gm-s-muted: #888888;
    --gm-s-line: #e4e4e4;
    --gm-s-content: 1224px;
    --gm-s-gutter: 16px;
    --gm-s-header-h: 88px;
    --gm-s-ease: cubic-bezier(.2, .7, .2, 1);
}

/* `overflow-x:hidden` on <body> (app.css) breaks every position:sticky on the site. */
html body.gm-theme {
    overflow-x: clip !important;
    /* Makes <body> the containing block of stray position:absolute nodes
       (plugins, tooltips, off-canvas lists) so its clip contains them.
       Otherwise they widen the document; on a real phone / DevTools device
       mode Chrome then enlarges the layout viewport and every fixed
       bottom bar (nav, buy bar) is pushed below the visible screen. */
    position: relative;
}

/* Shared content width — 1224px exactly like Figma */
.gm-shell-header > .container,
.gm-mega .container,
.gm-footer--v3 .container,
.gm-home--v3 > .container {
    width: 100%;
    max-width: calc(var(--gm-s-content) + var(--gm-s-gutter) * 2) !important;
    padding-left: var(--gm-s-gutter) !important;
    padding-right: var(--gm-s-gutter) !important;
    margin-left: auto;
    margin-right: auto;
}

/* Typeface with real weights (the global @font-face only ships DemiBold) */
:is(.gm-shell-header, .gm-mega, .gm-footer--v3, .gm-home--v3, .gm-search-modal, .gm-header-mobile, .gm-bottom-nav, .gm-to-top),
:is(.gm-shell-header, .gm-mega, .gm-footer--v3, .gm-home--v3, .gm-search-modal, .gm-header-mobile, .gm-bottom-nav) :where(*:not(i):not([class^="fa"]):not([class*=" fa-"])) {
    font-family: "GMSans", "IRANSansX", Tahoma, sans-serif !important;
}

:is(.gm-shell-header, .gm-mega, .gm-footer--v3, .gm-home--v3) :focus-visible {
    outline: 2px solid var(--gm-s-green);
    outline-offset: 2px;
    border-radius: 6px;
}

/* ==========================================================================
   Header (desktop)
   ========================================================================== */
.gm-shell-header.page-header {
    position: sticky;
    top: 0;
    z-index: 1040;
    background: #fff;
    transition: box-shadow .25s ease;
}

.gm-shell-header.is-scrolled {
    box-shadow: 0 6px 18px rgba(17, 24, 39, .06);
}

.gm-shell-header .gm-header__bar {
    height: var(--gm-s-header-h);
    min-height: var(--gm-s-header-h);
    gap: 24px;
}

.gm-shell-header .gm-header__right {
    gap: 25px;
}

.gm-shell-header .gm-header__logo {
    display: block;
    flex-shrink: 0;
    line-height: 0;
}

.gm-shell-header .gm-header__logo img {
    width: auto;
    height: 43px;
    max-width: 150px;
    object-fit: contain;
}

.gm-shell-header .gm-header__nav {
    gap: 24px;
}

.gm-shell-header .gm-header__nav-item {
    position: relative;
    height: 40px;
    gap: 2px;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
    color: var(--gm-s-ink) !important;
    border-radius: 8px;
}

.gm-shell-header .gm-header__nav-item::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 2px;
    height: 2px;
    border-radius: 2px;
    background: var(--gm-s-green);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s var(--gm-s-ease);
}

.gm-shell-header .gm-header__nav-item:hover,
.gm-shell-header .gm-header__nav-item:focus-visible {
    color: var(--gm-s-green-600) !important;
}

.gm-shell-header .gm-header__nav-item:not(.gm-header__nav-item--cats):hover::after {
    transform: scaleX(1);
}

.gm-shell-header .gm-header__nav-item--cats .gm-header__burger {
    width: 24px;
    height: 24px;
    color: currentColor;
}

.gm-shell-header.gm-mega-open .gm-header__nav-item--cats,
.gm-shell-header.gm-mega-open .gm-header__nav-item--cats .gm-header__burger {
    color: var(--gm-s-green-600) !important;
}

/* left tools */
.gm-shell-header .gm-header__left {
    gap: 16px;
}

.gm-shell-header .gm-header__tool,
.gm-shell-header .gm-header__cart > a.dropdown--btn {
    width: 33px !important;
    height: 33px !important;
    border-radius: 60px !important;
    background: rgba(245, 245, 245, .62) !important;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    color: #4a4a4a !important;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.gm-shell-header .gm-header__tool:hover,
.gm-shell-header .gm-header__cart > a.dropdown--btn:hover,
.gm-shell-header .gm-header__cart.active > a.dropdown--btn {
    background: #e6f7f0 !important;
    color: var(--gm-s-green-600) !important;
}

.gm-shell-header .gm-header__tool:active,
.gm-shell-header .gm-header__cart > a.dropdown--btn:active {
    transform: scale(.94);
}

.gm-shell-header .gm-header__search-trigger .gm-header__icon {
    width: 20px;
    height: 20px;
}

.gm-shell-header .gm-header__cart .gm-cart-svg {
    width: 20px;
    height: 20px;
}

.gm-shell-header .gm-header__cart .cart-count {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    min-width: 13px;
    width: auto;
    height: 13px;
    padding: 0 3px;
    border: 1.5px solid #fff;
    border-radius: 13px;
    background: var(--gm-s-green) !important;
    font-size: 8px !important;
    font-weight: 700;
    line-height: 1;
    box-sizing: content-box;
    animation: gm-badge-pop .35s var(--gm-s-ease);
}

@keyframes gm-badge-pop {
    0% { transform: scale(.4); }
    70% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

.gm-shell-header .gm-header__auth {
    gap: 4px;
    font-size: 14px;
    font-weight: 400;
    color: var(--gm-s-ink-2) !important;
}

.gm-shell-header .gm-header__auth .gm-header__user {
    width: 24px;
    height: 24px;
}

.gm-shell-header .gm-header__auth:hover {
    color: var(--gm-s-green-600) !important;
}

/* gradient rule under the header: #fff → #009964 → #fff, 1px */
.gm-shell-header .gm-header__rule {
    height: 1px;
    background: linear-gradient(90deg, rgba(212, 231, 223, 0) 0%, #d4e7df 8%, #009964 50%, #d4e7df 92%, rgba(212, 231, 223, 0) 100%);
}

/* ==========================================================================
   Mega menu — Figma 307:3182
   ========================================================================== */
.gm-shell-header .gm-mega {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .2s ease, transform .24s var(--gm-s-ease), visibility 0s linear .24s;
    z-index: 1;
}

.gm-shell-header.gm-mega-open .gm-mega {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .2s ease, transform .24s var(--gm-s-ease), visibility 0s;
}

.gm-shell-header .gm-mega__panel {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.gm-shell-header .gm-mega .gm-mega__box {
    position: relative;
    max-height: calc(100vh - var(--gm-s-header-h) - 24px);
    overflow-y: auto;
    padding: 42px 0;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-top: 0;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 2px 8.6px rgba(0, 0, 0, .12);
    pointer-events: auto;
}

.gm-shell-header:not(.gm-mega-open) .gm-mega .gm-mega__box {
    pointer-events: none;
}

.gm-shell-header .gm-mega .gm-mega__box::before {
    display: none;
}

.gm-megav3 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
}

.gm-megav3__grid {
    display: grid;
    grid-template-rows: repeat(4, 44px);
    grid-auto-flow: column;
    grid-auto-columns: minmax(245px, max-content);
    column-gap: 32px;
    row-gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gm-megav3__cell {
    min-width: 0;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .25s ease, transform .3s var(--gm-s-ease);
}

.gm-shell-header.gm-mega-open .gm-megav3__cell {
    opacity: 1;
    transform: none;
}

.gm-shell-header.gm-mega-open .gm-megav3__cell:nth-child(n+5) { transition-delay: .03s; }
.gm-shell-header.gm-mega-open .gm-megav3__cell:nth-child(n+9) { transition-delay: .06s; }
.gm-shell-header.gm-mega-open .gm-megav3__cell:nth-child(n+13) { transition-delay: .09s; }

.gm-megav3__item {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 44px;
    padding: 0;
    color: var(--gm-s-ink) !important;
    text-decoration: none !important;
    border-radius: 24px;
}

.gm-megav3__icon {
    position: relative;
    flex: 0 0 45px;
    width: 45px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: box-shadow .2s ease, transform .2s var(--gm-s-ease);
}

.gm-megav3__icon img {
    width: 45px;
    height: 44px;
    display: block;
    border-radius: 50%;
}

.gm-megav3__initial {
    width: 45px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--gm-s-line);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--gm-s-green-600);
}

.gm-megav3__label {
    min-width: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 25px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color .18s ease;
}

.gm-megav3__item:hover .gm-megav3__label,
.gm-megav3__item:focus-visible .gm-megav3__label {
    color: var(--gm-s-green-600);
}

.gm-megav3__item:hover .gm-megav3__icon,
.gm-megav3__item:focus-visible .gm-megav3__icon {
    box-shadow: 0 0 0 2px #cdeee1;
    transform: translateY(-1px);
}

.gm-megav3__all {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    font-size: 16px;
    font-weight: 600;
    line-height: 25px;
    color: var(--gm-s-green-600) !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.gm-megav3__all svg {
    transition: transform .2s var(--gm-s-ease);
}

.gm-megav3__all:hover svg {
    transform: translate(-2px, -2px);
}

@media (max-width: 1279.98px) {
    .gm-megav3__grid { grid-auto-columns: minmax(200px, max-content); column-gap: 20px; }
    .gm-megav3__label { font-size: 15px; }
}

@media (max-width: 1099.98px) {
    .gm-megav3__grid { grid-template-rows: repeat(5, 44px); grid-auto-columns: minmax(180px, max-content); }
}

/* page dim behind the open menu — #BABABA @39%, blur 2.5 */
.gm-shell-overlay {
    position: fixed;
    inset: 0;
    z-index: 1030;
    background: rgba(186, 186, 186, .39);
    -webkit-backdrop-filter: blur(2.5px);
    backdrop-filter: blur(2.5px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility 0s linear .2s;
}

body.gm-mega-is-open .gm-shell-overlay {
    opacity: 1;
    visibility: visible;
    transition: opacity .2s ease, visibility 0s;
}

@media (max-width: 991.98px) {
    .gm-shell-overlay { display: none; }
}

/* ==========================================================================
   Support banner — Figma 1224×199, #DAECE9, r24
   ========================================================================== */
.gm-footer--v3.page-footer {
    margin-top: 64px;
    padding: 0 !important;
    background: #fff;
    border: 0;
}

.gm-support {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    min-height: 199px;
    padding: 9px 32px;
    border-radius: 24px;
    background: #daece9;
    overflow: hidden;
}

.gm-support__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.gm-support__title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 38px;
    color: #6d6e72;
}

.gm-support__phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    font-weight: 700;
    line-height: 38px;
    color: #6d6e72 !important;
    text-decoration: none !important;
    transition: color .18s ease;
}

.gm-support__phone img {
    width: 32px;
    height: 32px;
    transition: transform .3s var(--gm-s-ease);
}

.gm-support__phone:hover {
    color: var(--gm-s-green-600) !important;
}

.gm-support__phone:hover img {
    animation: gm-ring .6s ease;
}

@keyframes gm-ring {
    0%, 100% { transform: rotate(0); }
    20% { transform: rotate(-14deg); }
    40% { transform: rotate(12deg); }
    60% { transform: rotate(-8deg); }
    80% { transform: rotate(5deg); }
}

.gm-support__art {
    width: 181px;
    height: 181px;
    object-fit: contain;
    flex-shrink: 0;
}

/* ==========================================================================
   Footer — Figma 307:4151 (y 4469)
   ========================================================================== */
.gm-footer--v3 .gm-footer__body {
    padding: 103px 0 34px;
}

body.gm-home-page .gm-footer--v3.page-footer {
    margin-top: 0;
}

.gm-footer--v3 .gm-footer__line {
    height: 1px;
    margin-bottom: 32px;
    background: linear-gradient(90deg, #d4e7df 0%, #009964 50%, #d4e7df 100%);
}

.gm-footer--v3 .gm-footer__brand {
    display: flex;
    align-items: center;
    height: 51px;
    justify-content: flex-start;
    margin-bottom: 34px;
}

.gm-footer--v3 .gm-footer__logo {
    display: block;
    line-height: 0;
}

.gm-footer--v3 .gm-footer__logo img {
    width: auto;
    height: 51px;
    max-width: 184px;
    object-fit: contain;
}

.gm-footer--v3 .gm-footer__grid {
    display: grid;
    grid-template-columns: 425px 156px 156px minmax(0, 1fr);
    column-gap: 69px;
    align-items: start;
}

.gm-footer--v3 .gm-footer__title {
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    color: var(--gm-s-green-700);
}

.gm-footer--v3 .gm-footer__contact,
.gm-footer--v3 .gm-footer__links {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gm-footer--v3 .gm-footer__contact {
    gap: 16px;
}

.gm-footer--v3 .gm-footer__contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    color: #6b6b6b;
}

.gm-footer--v3 .gm-footer__contact-item img {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.gm-footer--v3 .gm-footer__contact-item address {
    margin: 0;
    font-style: normal;
    max-width: 342px;
}

.gm-footer--v3 .gm-footer__contact-item a,
.gm-footer--v3 .gm-footer__links a {
    color: #6b6b6b !important;
    text-decoration: none !important;
    transition: color .18s ease;
}

.gm-footer--v3 .gm-footer__links a {
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
}

.gm-footer--v3 .gm-footer__contact-item a:hover,
.gm-footer--v3 .gm-footer__links a:hover {
    color: var(--gm-s-green-600) !important;
}

.gm-footer--v3 .gm-footer__col--trust {
    display: flex;
    justify-content: flex-end;
}

.gm-footer--v3 .gm-footer__trust {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 16px;
}

.gm-footer--v3 .gm-footer__trust-brand {
    width: 115px;
    height: 66px;
    display: block;
}

.gm-footer--v3 .gm-footer__trust-certs {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
}

.gm-footer--v3 .gm-footer__trust-certs a,
.gm-footer--v3 .gm-footer__trust-certs img {
    display: block;
    max-height: 66px;
    width: auto;
}

.gm-footer--v3 .gm-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--gm-s-line);
}

.gm-footer--v3 .gm-footer__copy {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    color: var(--gm-s-muted);
}

.gm-footer--v3 .gm-footer__social {
    direction: ltr;
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-shrink: 0;
}

.gm-footer--v3 .gm-footer__social a {
    display: block;
    width: 41px;
    height: 41px;
    border-radius: 11px;
    line-height: 0;
    transition: transform .2s var(--gm-s-ease), filter .2s ease;
}

.gm-footer--v3 .gm-footer__social img {
    width: 100%;
    height: 100%;
}

.gm-footer--v3 .gm-footer__social a:hover {
    transform: translateY(-2px);
    filter: brightness(.75) sepia(1) hue-rotate(95deg) saturate(3.2);
}

/* ==========================================================================
   Back to top
   ========================================================================== */
.gm-to-top {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 1020;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--gm-s-line);
    border-radius: 50%;
    background: #fff;
    color: var(--gm-s-green-600);
    box-shadow: 0 8px 20px rgba(17, 24, 39, .12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .25s ease, transform .25s var(--gm-s-ease), visibility 0s linear .25s, background .18s ease;
}

.gm-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity .25s ease, transform .25s var(--gm-s-ease), visibility 0s, background .18s ease;
}

.gm-to-top:hover {
    background: #e6f7f0;
}

body.gm-pdp-page .gm-to-top {
    display: none;
}

/* ==========================================================================
   Tablet
   ========================================================================== */
@media (max-width: 1199.98px) {
    .gm-footer--v3 .gm-footer__grid {
        grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
        row-gap: 32px;
        column-gap: 40px;
    }

    .gm-footer--v3 .gm-footer__col--trust {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

/* ==========================================================================
   Mobile — Figma 307:5222 (390)
   ========================================================================== */
@media (max-width: 767.98px) {
    .gm-footer--v3 {
        margin-top: 40px;
    }

    .gm-support {
        flex-direction: column-reverse;
        gap: 4px;
        min-height: 0;
        padding: 20px 16px 24px;
        border-radius: 16px;
    }

    .gm-support__art {
        width: 104px;
        height: 104px;
    }

    .gm-support__text {
        align-items: center;
        gap: 8px;
        text-align: center;
    }

    .gm-support__title {
        font-size: 16px;
        line-height: 25px;
    }

    .gm-support__phone {
        font-size: 18px;
        line-height: 28px;
    }

    .gm-support__phone img {
        width: 24px;
        height: 24px;
    }

    .gm-footer--v3 .gm-footer__body {
        padding: 32px 0 calc(96px + env(safe-area-inset-bottom));
    }

    .gm-footer--v3 .gm-footer__line {
        margin-bottom: 24px;
    }

    .gm-footer--v3 .gm-footer__brand {
        margin-bottom: 20px;
    }

    .gm-footer--v3 .gm-footer__logo img {
        height: 40px;
    }

    .gm-footer--v3 .gm-footer__grid {
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
        row-gap: 28px;
    }

    .gm-footer--v3 .gm-footer__col--contact,
    .gm-footer--v3 .gm-footer__col--trust {
        grid-column: 1 / -1;
    }

    .gm-footer--v3 .gm-footer__title {
        margin-bottom: 12px;
        font-size: 16px;
        line-height: 25px;
    }

    .gm-footer--v3 .gm-footer__contact-item {
        align-items: flex-start;
    }

    .gm-footer--v3 .gm-footer__contact-item address {
        max-width: none;
    }

    .gm-footer--v3 .gm-footer__trust {
        width: 100%;
        justify-content: flex-start;
        gap: 12px;
    }

    .gm-footer--v3 .gm-footer__trust-brand {
        width: 100px;
        height: auto;
    }

    .gm-footer--v3 .gm-footer__trust-certs a,
    .gm-footer--v3 .gm-footer__trust-certs img {
        max-height: 56px;
    }

    .gm-footer--v3 .gm-footer__bottom {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 16px;
        margin-top: 24px;
        padding-top: 0;
        border-top: 0;
    }

    .gm-footer--v3 .gm-footer__social {
        direction: rtl;
        flex-direction: row-reverse;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 12px;
    }

    .gm-footer--v3 .gm-footer__social a {
        width: 28px;
        height: 28px;
        border-radius: 8px;
    }

    .gm-footer--v3 .gm-footer__copy {
        font-size: 12px;
        line-height: 20px;
    }

    .gm-to-top {
        left: 16px;
        bottom: calc(84px + env(safe-area-inset-bottom));
        width: 40px;
        height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gm-shell-header *,
    .gm-footer--v3 *,
    .gm-shell-overlay,
    .gm-to-top {
        transition: none !important;
        animation: none !important;
    }
}

.gm-footer--v3.page-footer,
.gm-footer--v3 .gm-footer__body {
    border-top: 0 !important;
    box-shadow: none !important;
}

.gm-footer--v3.page-footer::before,
.gm-footer--v3.page-footer::after {
    display: none !important;
}

/* trust badges: drop the legacy framed-tile look */
.gm-footer--v3 .gm-footer__trust img,
.gm-footer--v3 .gm-footer__trust a {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-footer--v3 .gm-footer__trust-brand {
    width: 115px !important;
    height: 66px !important;
}

@media (max-width: 767.98px) {
    .gm-footer--v3 .gm-footer__social {
        direction: ltr;
        flex-direction: row;
        justify-content: flex-end;
    }

    .gm-footer--v3 .gm-footer__trust-brand {
        width: 100px !important;
        height: 57px !important;
    }
}

/* ==========================================================================
   Mobile shell — Figma 307:5546 (390 × 844)
   header (logo + search), bottom navigation, category bottom sheet
   ========================================================================== */
@media (max-width: 991.98px) {
    :root {
        --gm-m-nav-h: 77px;
        --gm-m-safe: env(safe-area-inset-bottom, 0px);
        --gm-m-green: #2cc18d;
    }

    /* ---------- header ---------- */
    /* No transform / filter / will-change here: the category sheet is a
       position:fixed descendant and would otherwise be trapped inside. */
    .gm-header-mobile.header-responsive {
        position: sticky;
        top: 0;
        z-index: 1040;
        padding: 10px 16px !important;
        background: #fff;
        box-shadow: none;
        transition: top .28s var(--gm-s-ease), box-shadow .2s ease;
    }

    .gm-header-mobile.header-responsive.is-scrolled {
        box-shadow: 0 1px 0 rgba(12, 12, 13, .05), 0 6px 16px rgba(12, 12, 13, .05);
    }


    body.gm-drawer-open .gm-header-mobile.header-responsive,
    body.gm-search-modal-open .gm-header-mobile.header-responsive {
        top: 0;
    }

    .gm-header-mobile:not(.gm-header-mobile--pdp) .gm-header-mobile__bar {
        min-height: 33px;
        gap: 12px;
    }

    .gm-header-mobile .gm-header-mobile__logo img {
        height: 33px;
        max-height: 33px;
        width: auto;
        max-width: 116px;
        object-fit: contain;
    }

    .gm-header-mobile .gm-header-mobile__search {
        position: relative;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: rgba(245, 245, 245, .62);
        -webkit-backdrop-filter: blur(3.4px);
        backdrop-filter: blur(3.4px);
        color: #757575;
        -webkit-tap-highlight-color: transparent;
        transition: background .15s ease, color .15s ease, transform .15s ease;
    }

    /* 44px touch target around the 28px visual */
    .gm-header-mobile .gm-header-mobile__search::before {
        content: "";
        position: absolute;
        inset: -8px;
        border-radius: 50%;
    }

    .gm-header-mobile .gm-header-mobile__search:active {
        transform: scale(.9);
        background: #eaf7f1;
        color: var(--gm-m-green);
    }

    /* ---------- bottom navigation ---------- */
    .gm-bottom-nav.gm-bottom-nav--v3 {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1210;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 8px;
        height: calc(var(--gm-m-nav-h) + var(--gm-m-safe));
        padding: 0 16px var(--gm-m-safe) !important;
        margin: 0;
        border: 0;
        border-radius: 16px 16px 0 0;
        background: #fff;
        box-shadow: inset 0 1px 4px rgba(12, 12, 13, .05), 0 -2px 14px rgba(12, 12, 13, .04);
        transform: translate3d(0, 0, 0);
        transition: transform .28s var(--gm-s-ease), opacity .2s ease, visibility .2s ease;
    }

    /* the products sheet sits above the bar, so the bar stays */
    body.gm-theme.gm-drawer-open .gm-bottom-nav.gm-bottom-nav--v3 {
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    body.gm-theme.gm-search-modal-open .gm-bottom-nav.gm-bottom-nav--v3,
    body.gm-theme.gm-keyboard-open .gm-bottom-nav.gm-bottom-nav--v3,
    body.gm-theme.gm-has-mobile-buy-bar .gm-bottom-nav.gm-bottom-nav--v3,
    body.gm-theme:has(.gm-mobile-buy-bar) .gm-bottom-nav.gm-bottom-nav--v3 {
        transform: translate3d(0, 110%, 0);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__item {
        position: relative;
        flex: 1 1 0;
        min-width: 0;
        max-width: 96px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        padding: 12px 0 16px !important;
        margin: 0;
        border: 0;
        border-radius: 14px;
        background: transparent;
        color: #888 !important;
        font: inherit;
        text-decoration: none !important;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
        user-select: none;
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__icon {
        position: relative;
        display: inline-flex;
        width: 24px;
        height: 24px;
        transition: transform .25s var(--gm-s-ease);
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__svg {
        position: absolute;
        inset: 0;
        width: 24px;
        height: 24px;
        transition: opacity .2s ease;
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__svg--fill {
        opacity: 0;
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__label {
        display: block;
        max-width: 100%;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 16px !important;
        color: #6e6e6e !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        transition: color .2s ease;
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__item.is-active,
    .gm-bottom-nav--v3 .gm-bottom-nav__item[aria-expanded="true"] {
        color: var(--gm-m-green) !important;
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__item.is-active .gm-bottom-nav__label,
    .gm-bottom-nav--v3 .gm-bottom-nav__item[aria-expanded="true"] .gm-bottom-nav__label {
        color: var(--gm-m-green) !important;
        font-weight: 500 !important;
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__item.is-active .gm-bottom-nav__svg--line { opacity: 0; }
    .gm-bottom-nav--v3 .gm-bottom-nav__item.is-active .gm-bottom-nav__svg--fill { opacity: 1; }

    /* while the sheet is open only «محصولات» reads as current */
    body.gm-drawer-open .gm-bottom-nav--v3 .gm-bottom-nav__item.is-active:not(.gm-bottom-nav__item--products) {
        color: #888 !important;
    }

    body.gm-drawer-open .gm-bottom-nav--v3 .gm-bottom-nav__item.is-active:not(.gm-bottom-nav__item--products) .gm-bottom-nav__label {
        color: #6e6e6e !important;
        font-weight: 400 !important;
    }

    body.gm-drawer-open .gm-bottom-nav--v3 .gm-bottom-nav__item.is-active:not(.gm-bottom-nav__item--products) .gm-bottom-nav__svg--line { opacity: 1; }
    body.gm-drawer-open .gm-bottom-nav--v3 .gm-bottom-nav__item.is-active:not(.gm-bottom-nav__item--products) .gm-bottom-nav__svg--fill { opacity: 0; }

    .gm-bottom-nav--v3 .gm-bottom-nav__item:active .gm-bottom-nav__icon {
        transform: scale(.86);
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__item:focus-visible {
        outline: 2px solid var(--gm-m-green);
        outline-offset: -4px;
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__item.is-tapped .gm-bottom-nav__icon {
        animation: gm-nav-pop .38s var(--gm-s-ease);
    }

    @keyframes gm-nav-pop {
        0% { transform: scale(.86); }
        60% { transform: scale(1.12); }
        100% { transform: scale(1); }
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__badge {
        position: absolute;
        top: -7px;
        left: -10px;
        right: auto;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        border: 2px solid #fff;
        border-radius: 18px;
        background: #f25f63;
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        line-height: 14px;
        text-align: center;
        box-sizing: border-box;
        box-shadow: 0 2px 6px rgba(242, 95, 99, .35);
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__badge.is-bumped {
        animation: gm-badge-pop .45s var(--gm-s-ease);
    }

    .gm-bottom-nav--v3 .gm-bottom-nav__dot {
        position: absolute;
        bottom: -1px;
        left: -2px;
        width: 10px;
        height: 10px;
        border: 2px solid #fff;
        border-radius: 50%;
        background: var(--gm-m-green);
    }

    /* page bottom clearance for the bar */
    body.gm-theme {
        padding-bottom: calc(var(--gm-m-nav-h) + var(--gm-m-safe)) !important;
    }

    body.gm-theme.gm-has-mobile-buy-bar,
    body.gm-theme:has(.gm-mobile-buy-bar) {
        padding-bottom: 0 !important;
    }

    .gm-to-top {
        bottom: calc(var(--gm-m-nav-h) + var(--gm-m-safe) + 12px);
    }

    /* ---------- category bottom sheet («محصولات») ---------- */
    .gm-header-mobile.header-responsive .header-top .side-navigation-wrapper .overlay-side-navigation {
        position: fixed;
        inset: 0;
        z-index: 1190;
        background: rgba(20, 27, 24, .38);
        -webkit-backdrop-filter: blur(3px);
        backdrop-filter: blur(3px);
    }

    .gm-header-mobile.header-responsive .header-top .side-navigation-wrapper .side-navigation.gm-sheet-host,
    .gm-header-mobile.header-responsive .header-top .side-navigation-wrapper .side-navigation.gm-sheet-host.toggle {
        position: fixed;
        top: auto;
        right: 0;
        left: 0;
        bottom: calc(var(--gm-m-nav-h) + var(--gm-m-safe) - 16px);
        z-index: 1200;
        width: 100%;
        height: auto;
        max-height: calc(100dvh - var(--gm-m-nav-h) - var(--gm-m-safe) - 40px);
        padding: 0 0 16px;
        border-radius: 20px 20px 0 0;
        background: #fff;
        box-shadow: 0 -12px 40px rgba(16, 36, 26, .18);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        transform: translate3d(0, calc(100% + var(--gm-m-nav-h) + 40px), 0);
        transition: transform .42s cubic-bezier(.22, 1, .36, 1);
        visibility: hidden;
    }

    .gm-header-mobile.header-responsive .header-top .side-navigation-wrapper .side-navigation.gm-sheet-host.toggle {
        transform: translate3d(0, var(--gm-sheet-drag, 0px), 0);
        visibility: visible;
    }

    .gm-header-mobile .side-navigation.gm-sheet-host.is-dragging {
        transition: none !important;
    }

    .gm-sheet {
        display: flex;
        flex-direction: column;
        min-height: 0;
        max-height: inherit;
        height: 100%;
        direction: rtl;
        color: #3e3e3e;
    }

    .gm-sheet__grip {
        flex: 0 0 auto;
        display: flex;
        justify-content: center;
        padding: 8px 0 4px;
        touch-action: none;
        cursor: grab;
    }

    .gm-sheet__grip span {
        width: 40px;
        height: 4px;
        border-radius: 4px;
        background: #dcdcdc;
    }

    .gm-sheet__head {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 4px 16px 12px;
        touch-action: none;
    }

    .gm-sheet__title {
        font-size: 16px;
        font-weight: 700;
        line-height: 25px;
        color: #232323;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__close {
        position: static;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #f5f5f5;
        color: #5a5a5a;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: none;
        -webkit-tap-highlight-color: transparent;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__close:active {
        transform: scale(.92);
    }

    .gm-sheet__search {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        gap: 8px;
        width: calc(100% - 32px);
        height: 44px;
        margin: 0 16px 8px;
        padding: 0 14px;
        border: 1px solid #ececec;
        border-radius: 12px;
        background: #f7f7f7;
        color: #8a8a8a;
        font-size: 13px;
        text-align: right;
        cursor: text;
        -webkit-tap-highlight-color: transparent;
    }

    .gm-sheet__search svg {
        flex-shrink: 0;
        color: #757575;
    }

    .gm-sheet__search span {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .gm-sheet__body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 0 16px 8px;
        scrollbar-width: none;
    }

    .gm-sheet__body::-webkit-scrollbar { display: none; }

    .gm-header-mobile .gm-sheet ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .gm-header-mobile .gm-sheet li {
        margin: 0;
        padding: 0;
        border: 0;
        background: none;
    }

    .gm-header-mobile .gm-sheet a {
        text-decoration: none !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__cat {
        border-bottom: 1px solid #f2f2f2;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__cat:last-child {
        border-bottom: 0;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__row {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 60px;
        padding: 8px 0;
        color: #3e3e3e !important;
        font-size: 14px;
        font-weight: 500;
        line-height: 22px;
        background: none !important;
        border-radius: 12px;
        -webkit-tap-highlight-color: transparent;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__row::after,
    .gm-header-mobile .gm-sheet .gm-sheet__row::before {
        display: none !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__row:active {
        background: #f6faf8 !important;
    }

    .gm-sheet__icon {
        flex: 0 0 40px;
        width: 40px;
        height: 39px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .gm-sheet__icon img {
        width: 40px;
        height: 39px;
        display: block;
    }

    .gm-sheet__initial {
        width: 40px;
        height: 40px;
        border: 1px solid #e4e4e4;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #008e5d;
        font-weight: 700;
    }

    .gm-sheet__name {
        flex: 1 1 auto;
        min-width: 0;
    }

    .gm-sheet__chev {
        flex: 0 0 18px;
        color: #b0b0b0;
        transition: transform .25s var(--gm-s-ease), color .2s ease;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__cat.has-children > .gm-sheet__row .gm-sheet__chev {
        transform: rotate(-90deg);
    }

    .gm-header-mobile .gm-sheet .gm-sheet__cat.has-children.is-open > .gm-sheet__row {
        color: #008e5d !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__cat.has-children.is-open > .gm-sheet__row .gm-sheet__chev {
        transform: rotate(90deg);
        color: #008e5d;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub,
    .gm-header-mobile .gm-sheet .gm-sheet__sub ul {
        display: none;
        position: static !important;
        width: auto !important;
        height: auto !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-shadow: none !important;
        background: none !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__cat.is-open > .gm-sheet__sub,
    .gm-header-mobile .gm-sheet .gm-sheet__sub li.is-open > ul {
        display: block;
        animation: gm-sheet-sub .26s var(--gm-s-ease);
    }

    @keyframes gm-sheet-sub {
        from { opacity: 0; transform: translateY(-4px); }
        to { opacity: 1; transform: none; }
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub {
        margin: 0 52px 10px 0 !important;
        padding: 4px 12px 4px 0 !important;
        border-right: 2px solid #e6f5ee !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub ul {
        padding-right: 12px !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub a {
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        min-height: 40px;
        padding: 8px 0 !important;
        color: #5a5a5a !important;
        font-size: 13px !important;
        font-weight: 400;
        line-height: 21px;
        background: none !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub a::before {
        display: none !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub li.has-children > a::after {
        content: "" !important;
        display: block !important;
        position: static !important;
        width: 7px;
        height: 7px;
        margin-left: 4px;
        border: solid #b0b0b0;
        border-width: 0 0 1.6px 1.6px;
        transform: rotate(-45deg);
        transition: transform .2s ease;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub li.has-children.is-open > a::after {
        transform: rotate(135deg);
        border-color: #008e5d;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub li:not(.has-children) > a::after {
        display: none !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__sub a:active,
    .gm-header-mobile .gm-sheet .gm-sheet__sub li.is-open > a {
        color: #008e5d !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__all-in > a {
        color: #008e5d !important;
        font-weight: 600 !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__extra {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 12px 0 0 !important;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__extra a {
        display: inline-flex;
        align-items: center;
        height: 34px;
        padding: 0 14px;
        border: 1px solid #e4e4e4;
        border-radius: 34px;
        color: #525252 !important;
        font-size: 13px;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__browse {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        height: 48px;
        margin: 16px 0 12px;
        border-radius: 12px;
        background: #00b274;
        color: #fff !important;
        font-size: 14px;
        font-weight: 600;
        box-shadow: 0 6px 16px rgba(0, 178, 116, .22);
    }

    .gm-header-mobile .gm-sheet .gm-sheet__browse:active {
        transform: scale(.98);
    }

    .gm-sheet__quick {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__chip {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        min-height: 64px;
        padding: 8px 4px;
        border: 1px solid #edf1ef;
        border-radius: 12px;
        background: #f8fbf9;
        color: #3e3e3e !important;
        font-size: 11px;
        font-weight: 500;
        text-align: center;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__chip svg {
        color: #008e5d;
    }

    .gm-header-mobile .gm-sheet .gm-sheet__chip:active {
        background: #eaf7f1;
    }
}

@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
    .gm-header-mobile.header-responsive,
    .gm-bottom-nav.gm-bottom-nav--v3,
    .gm-header-mobile .side-navigation.gm-sheet-host {
        transition: none !important;
    }
}

/* ==========================================================================
   Footer + support card — mobile (Figma 307:5222, y 2463 → 3282)
   ========================================================================== */
@media (max-width: 767.98px) {
    .gm-footer--v3.page-footer {
        margin-top: 0;
    }

    .gm-support {
        flex-direction: column-reverse;
        align-items: center;
        gap: 16px;
        min-height: 204px;
        padding: 16px !important;
        border-radius: 16px;
        background: #d9ede8;
    }

    .gm-support__art {
        width: 100px;
        height: 100px;
    }

    .gm-support__text {
        align-items: center;
        gap: 11px;
        text-align: center;
    }

    .gm-support__title {
        font-size: 14px;
        font-weight: 700;
        line-height: 21px;
        color: #6d6d73;
    }

    .gm-support__phone {
        gap: 8px;
        font-size: 16px;
        line-height: 24px;
        color: #387a5c !important;
    }

    .gm-support__phone img {
        width: 24px;
        height: 24px;
    }

    .gm-footer--v3 .gm-footer__body {
        padding: 32px 0 32px;
    }

    .gm-footer--v3 .gm-footer__line {
        height: 1px;
        margin: 0 0 16px;
        background: #dedede;
    }

    .gm-footer--v3 .gm-footer__brand {
        height: 36px;
        margin-bottom: 24px;
    }

    .gm-footer--v3 .gm-footer__logo img {
        height: 36px;
        max-width: 130px;
    }

    .gm-footer--v3 .gm-footer__grid {
        grid-template-columns: 191px minmax(0, 1fr);
        column-gap: 0;
        row-gap: 24px;
    }

    .gm-footer--v3 .gm-footer__title {
        margin-bottom: 12px;
        font-size: 16px;
        line-height: 24px;
        color: #009964;
    }

    .gm-footer--v3 .gm-footer__contact {
        gap: 12px;
    }

    .gm-footer--v3 .gm-footer__contact-item {
        align-items: flex-start;
        gap: 8px;
        font-size: 13px;
        line-height: 20px;
    }

    .gm-footer--v3 .gm-footer__contact-item img {
        flex-basis: 18px;
        width: 18px;
        height: 18px;
        margin-top: 1px;
    }

    .gm-footer--v3 .gm-footer__contact-item--address {
        font-size: 14px;
        line-height: 21px;
    }

    .gm-footer--v3 .gm-footer__contact-item--address img {
        margin-top: 12px;
    }

    .gm-footer--v3 .gm-footer__contact-item--mail { order: 2; }
    .gm-footer--v3 .gm-footer__contact-item--phone { order: 3; }

    .gm-footer--v3 .gm-footer__links {
        gap: 12px;
    }

    .gm-footer--v3 .gm-footer__links a {
        display: inline-flex;
        align-items: center;
        min-height: 20px;
        font-size: 13px;
        font-weight: 500;
        line-height: 20px;
        color: #6b6b6b !important;
    }

    .gm-footer--v3 .gm-footer__col--trust {
        justify-content: flex-start;
    }

    .gm-footer--v3 .gm-footer__trust {
        gap: 12px;
    }

    .gm-footer--v3 .gm-footer__trust-brand {
        width: 84px !important;
        height: 48px !important;
    }

    .gm-footer--v3 .gm-footer__trust-certs {
        gap: 12px;
    }

    .gm-footer--v3 .gm-footer__trust-certs a,
    .gm-footer--v3 .gm-footer__trust-certs img {
        max-height: 52px;
    }

    .gm-footer--v3 .gm-footer__bottom {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 24px;
        margin-top: 24px;
        padding-top: 0;
        border-top: 0;
    }

    .gm-footer--v3 .gm-footer__social {
        direction: ltr;
        flex-direction: row;
        justify-content: flex-end;
        gap: 11px;
    }

    .gm-footer--v3 .gm-footer__social a {
        width: 28px;
        height: 28px;
        border-radius: 8px;
    }

    .gm-footer--v3 .gm-footer__social a::before {
        content: "";
        position: absolute;
        inset: -8px;
    }

    .gm-footer--v3 .gm-footer__social li {
        position: relative;
    }

    .gm-footer--v3 .gm-footer__copy {
        font-size: 12px;
        line-height: 18px;
        color: #878787;
        text-align: right;
    }
}

/* ==========================================================================
   PDP mobile header — Figma 465:8363 + back / cart shortcut
   [بازگشت][لوگو] ··· [جستجو][سبد]
   ========================================================================== */
@media (max-width: 991.98px) {
    .gm-header-mobile.gm-header-mobile--pdp {
        padding: 10px 12px !important;
        border-bottom: 1px solid #e8e8e8;
    }

    .gm-header-mobile--pdp .gm-header-mobile__bar {
        display: flex !important;
        align-items: center;
        gap: 8px;
        min-height: 36px;
    }

    .gm-header-mobile--pdp .gm-header-mobile__back,
    .gm-header-mobile--pdp .gm-header-mobile__tool {
        position: relative;
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(245, 245, 245, .62);
        color: #3e3e3e;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none !important;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: background .15s ease, color .15s ease, transform .15s ease;
    }

    .gm-header-mobile--pdp .gm-header-mobile__tool {
        color: #757575;
    }

    .gm-header-mobile--pdp .gm-header-mobile__back::before,
    .gm-header-mobile--pdp .gm-header-mobile__tool::before {
        content: "";
        position: absolute;
        inset: -4px;
        border-radius: 50%;
    }

    .gm-header-mobile--pdp .gm-header-mobile__back:active,
    .gm-header-mobile--pdp .gm-header-mobile__tool:active {
        transform: scale(.9);
        background: #eaf7f1;
        color: #2cc18d;
    }

    .gm-header-mobile--pdp .gm-header-mobile__logo--pdp {
        flex: 0 1 auto;
        display: flex;
        justify-content: flex-start;
        min-width: 0;
        margin: 0;
    }

    .gm-header-mobile--pdp .gm-header-mobile__logo--pdp img {
        height: 30px;
        max-height: 30px;
        width: auto;
        max-width: min(116px, 34vw);
        object-fit: contain;
    }

    .gm-header-mobile--pdp .gm-header-mobile__tools {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-inline-start: auto;
    }

    .gm-header-mobile--pdp .gm-header-mobile__tool--cart.has-items {
        color: #008e5d;
        background: #e9f8f1;
    }

    .gm-header-mobile--pdp .gm-header-mobile__cart-badge {
        position: absolute;
        top: -5px;
        left: -5px;
        right: auto;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        border: 2px solid #fff;
        border-radius: 18px;
        background: #f25f63;
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        line-height: 14px;
        text-align: center;
        box-sizing: border-box;
        box-shadow: 0 2px 6px rgba(242, 95, 99, .35);
    }

    .gm-header-mobile--pdp .gm-header-mobile__cart-badge[hidden] {
        display: none;
    }

    .gm-header-mobile--pdp .gm-header-mobile__cart-badge.is-bumped {
        animation: gm-badge-pop .45s var(--gm-s-ease);
    }

    .gm-header-mobile--pdp .gm-header-mobile__tool--cart.is-bumped {
        animation: gm-cart-shake .5s var(--gm-s-ease);
    }

    @keyframes gm-cart-shake {
        0%, 100% { transform: none; }
        25% { transform: rotate(-12deg) scale(1.08); }
        55% { transform: rotate(9deg) scale(1.04); }
        80% { transform: rotate(-4deg); }
    }
}

/* ---------- «added to cart» snackbar (mobile) ---------- */
.gm-cart-snack {
    position: fixed;
    right: 12px;
    left: 12px;
    bottom: calc(var(--gm-snack-offset, 16px) + env(safe-area-inset-bottom, 0px));
    z-index: 1300;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 8px 8px 8px 14px;
    border-radius: 14px;
    background: #1f2a25;
    color: #fff;
    box-shadow: 0 12px 30px rgba(10, 20, 15, .28);
    direction: rtl;
    font-family: "GMSans", "IRANSansX", Tahoma, sans-serif;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 16px, 0);
    transition: opacity .22s ease, transform .3s var(--gm-s-ease), visibility 0s linear .3s;
}

.gm-cart-snack.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity .22s ease, transform .3s var(--gm-s-ease), visibility 0s;
}

.gm-cart-snack__icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2cc18d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gm-cart-snack__text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
}

.gm-cart-snack__text small {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: rgba(255, 255, 255, .7);
}

.gm-cart-snack__action {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 36px;
    padding: 0 14px;
    border-radius: 10px;
    background: #fff;
    color: #008e5d !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
}

.gm-cart-snack__close {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: rgba(255, 255, 255, .7);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.gm-cart-snack-on .pdp-toast {
    display: none !important;
}

@media (min-width: 992px) {
    .gm-cart-snack {
        display: none;
    }
}

/* ==========================================================================
   Checkout flow (cart → shipping → payment) — mobile
   The cart's fixed «ادامه فرایند خرید» bar owns the bottom edge, so the shop
   bottom nav steps aside; the header turns into a focused flow header.
   ========================================================================== */
@media (max-width: 991.98px) {
    body.gm-theme.gm-has-checkout-bar .gm-bottom-nav.gm-bottom-nav--v3,
    body.gm-theme:has(.gm-co__aside, .gm-cart-flow__aside, .gm-checkout-flow__aside, .gm-checkout-card__aside) .gm-bottom-nav.gm-bottom-nav--v3 {
        display: none !important;
    }

    body.gm-theme.gm-has-checkout-bar,
    body.gm-theme:has(.gm-co__aside, .gm-cart-flow__aside, .gm-checkout-flow__aside, .gm-checkout-card__aside) {
        padding-bottom: 0 !important;
    }

    /* the summary bar sits on the very bottom edge, above page content */
    body.gm-theme.gm-has-checkout-bar .gm-cart-flow__aside,
    body.gm-theme.gm-has-checkout-bar .gm-checkout-flow__aside,
    body.gm-theme.gm-has-checkout-bar .gm-checkout-card__aside {
        z-index: 1030 !important;
    }

    body.gm-theme.gm-has-checkout-bar .gm-to-top {
        bottom: calc(96px + var(--gm-m-safe));
    }

    /* no white strip between header and the grey checkout canvas */
    body.gm-theme.gm-flow-page {
        background: #f5f6f8;
    }

    /* ---- flow header: [بازگشت][عنوان] ··· [خانه] ---- */
    .gm-header-mobile--flow .gm-header-mobile__flow {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .gm-header-mobile--flow .gm-header-mobile__flow-title {
        overflow: hidden;
        font-size: 16px;
        font-weight: 800;
        line-height: 24px;
        color: #1f1f1f;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .gm-header-mobile.gm-header-mobile--flow {
        padding-bottom: 0 !important;
    }

    .gm-header-mobile--flow .gm-header-mobile__bar {
        padding-bottom: 10px;
    }

    .gm-header-mobile--flow .gm-header-mobile__tools {
        margin-inline-start: auto;
    }

    /* step indicator */
    .gm-flow-steps {
        display: flex;
        align-items: center;
        gap: 6px;
        margin: 0 -12px;
        padding: 8px 12px 10px;
        list-style: none;
        border-top: 1px solid #f1f1f1;
        counter-reset: none;
    }

    .gm-flow-steps li {
        position: relative;
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 6px;
        margin: 0;
        font-size: 11px;
        font-weight: 600;
        line-height: 18px;
        color: #9a9a9a;
        white-space: nowrap;
    }

    .gm-flow-steps li + li::before {
        content: "";
        flex: 0 0 10px;
        height: 1px;
        margin-inline-end: 2px;
        background: #e2e2e2;
    }

    .gm-flow-steps li span {
        flex: 0 0 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #f1f1f1;
        color: #8a8a8a;
        font-size: 11px;
        font-weight: 700;
    }

    .gm-flow-steps li.is-current {
        color: #1f1f1f;
    }

    .gm-flow-steps li.is-current span {
        background: #2cc18d;
        color: #fff;
        box-shadow: 0 0 0 3px rgba(44, 193, 141, .16);
    }
}

/* Support banner (headset + phone) belongs to the home page only */
body.gm-theme:not(.gm-home-page) .gm-footer--v3 .gm-support {
    display: none !important;
}
