/* ==========================================================================
   GreenMarket — Product detail page (PDP)
   Source of truth: Figma «GreenMarket» › Desktop › Prdocut Detail Page_v9 (315:4894)
                    and Mobile › صفحه جزئیات محصول موبایل (475:10513)
   Desktop canvas 1440 / content 1224 — Mobile canvas 390 / gutters 16
   ========================================================================== */

/* IRANSansX (Farsi numerals) — real weights; the global stack only ships DemiBold */
@font-face { font-family: "GMPdpSans"; 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: "GMPdpSans"; 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: "GMPdpSans"; 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: "GMPdpSans"; 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: "GMPdpSans"; 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"); }

.pdp,
.gm-mobile-buy-bar--pdp {
    --pdp-green: #00b274;
    --pdp-green-600: #008e5d;
    --pdp-green-700: #006b46;
    --pdp-green-tab: #2cc18d;
    --pdp-ink: #3e3e3e;
    --pdp-heading: #1d2939;
    --pdp-muted: #6e6e6e;
    --pdp-gray: #888888;
    --pdp-line: #e4e4e4;
    --pdp-line-strong: #d6d6d6;
    --pdp-soft: #f1f5f9;
    --pdp-fill: #f5f5f5;
    --pdp-note: #edf8f3;
    --pdp-rose: #ef443c;
    --pdp-content: 1224px;
    /* distance from the content edge to the viewport edge (used for full-bleed lines) */
    --pdp-bleed: max(16px, calc((100vw - var(--pdp-content)) / 2));
    font-family: "GMPdpSans", IRANSansX, IRANSansXFaNum, Tahoma, sans-serif;
    color: var(--pdp-ink);
    direction: rtl;
    text-align: right;
}

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

.pdp button,
.pdp input,
.pdp select {
    font-family: inherit;
}

.pdp h1,
.pdp h2,
.pdp h3,
.pdp p,
.pdp dl,
.pdp dd,
.pdp ol,
.pdp ul {
    margin: 0;
    padding: 0;
}

.pdp ol,
.pdp ul {
    list-style: none;
}

.pdp a {
    text-decoration: none;
}

.pdp button {
    margin: 0;
    background: none;
    border: 0;
    padding: 0;
    color: inherit;
    cursor: pointer;
}

.pdp button:focus:not(:focus-visible) {
    outline: none;
}

.pdp .pdp-ico {
    display: block;
    flex: none;
}

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

/* clean white canvas */
body.gm-pdp-page,
body.gm-pdp-page .page-wrapper,
body.gm-pdp-page .page-content {
    background: #fff !important;
}

/*
 * Sticky header / tabs / purchase summary need a body that is NOT a scroll container.
 * The base theme sets body{overflow-x:hidden !important}, which silently disables every
 * position:sticky on the page — `clip` hides horizontal overflow without that side effect.
 */
html body.gm-pdp-page {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

@supports not (overflow: clip) {
    html body.gm-pdp-page {
        overflow-x: visible !important;
    }

    html:has(body.gm-pdp-page) {
        overflow-x: hidden !important;
    }
}

body.gm-pdp-page .page-content {
    margin-top: 0;
}

/* ——— Container ——— */
.container.single-product.pdp {
    float: none;
    width: 100%;
    max-width: calc(var(--pdp-content) + 32px);
    margin-inline: auto;
    padding: 0 16px;
    background: #fff;
}

/* ——— Breadcrumb ——— */
.pdp-crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    min-height: 28px;
    margin: 16px 0 32px;
    color: #979797;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;
}

.pdp-crumb a {
    color: #979797;
}

.pdp-crumb a:hover {
    color: var(--pdp-green);
}

.pdp-crumb a.is-current {
    color: var(--pdp-ink);
}

.pdp-crumb__sep {
    color: #98a2b3;
    font-family: Roboto, Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

/* ——— Hero ——— */
.pdp-hero {
    display: grid;
    grid-template-columns: 499px minmax(0, 1fr);
    column-gap: 32px;
    align-items: start;
}

.pdp-hero__media {
    display: flex;
    flex-direction: column;
    gap: 32px;
    min-width: 0;
}

.pdp-hero__info {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.pdp-sep {
    display: block;
    width: 100%;
    height: 0;
    margin: 0 0 -1px;
    border: 0;
    border-top: 1px solid var(--pdp-line-strong);
    opacity: 1;
}

/* ——— Gallery ——— */
.pdp-gallery {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.pdp-gallery__thumbs {
    display: flex;
    flex-direction: column;
    gap: 6.88px;
    flex: 0 0 95px;
    width: 95px;
}

.pdp-gallery__thumb,
.pdp .pdp-gallery__video {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 95px;
    height: 92px;
    padding: 9px 10px;
    border: 1.29px solid transparent;
    border-radius: 13.76px;
    background: var(--pdp-fill);
    overflow: hidden;
    transition: border-color .15s ease;
}

.pdp-gallery__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6.88px;
}

.pdp-gallery__thumb:hover {
    border-color: #c9d6cf;
}

.pdp-gallery__thumb.is-active {
    border-color: var(--pdp-green-700);
}

.pdp .pdp-gallery__video {
    color: #919191;
}

.pdp-gallery__video .pdp-ico {
    width: 37px;
    height: 37px;
}

.pdp-gallery__stage {
    position: relative;
    flex: 0 0 389px;
    width: 389px;
    height: 389px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13.76px;
    background: #fff;
    overflow: hidden;
}

.pdp-gallery__stage .pdp-gallery__img,
.pdp-gallery__stage .zoomWrapper,
.pdp-gallery__stage .zoomWrapper img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 330px;
    max-height: 300px;
    margin: 0 auto;
    object-fit: contain;
    position: relative !important;
}

.pdp-gallery__tools {
    position: absolute;
    top: 16px;
    right: 11px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdp .pdp-gallery__tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: .86px solid #f0f0f0;
    border-radius: 50%;
    background: rgba(245, 245, 245, .85);
    color: var(--pdp-gray);
    backdrop-filter: blur(3.44px);
    -webkit-backdrop-filter: blur(3.44px);
}

.pdp-gallery__tool .pdp-ico {
    width: 15px;
    height: 15px;
}

.pdp .pdp-gallery__tool:hover {
    background: #fff;
    color: var(--pdp-ink);
}

.pdp .pdp-gallery__fav:hover,
.pdp .pdp-gallery__fav.favorites {
    color: var(--pdp-rose);
}

.pdp .pdp-gallery__fav.favorites .pdp-ico path {
    fill: currentColor;
}

.pdp .pdp-gallery__arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .6);
    box-shadow: 0 1.72px 4.3px rgba(16, 24, 40, .06);
    color: var(--pdp-heading);
    backdrop-filter: blur(6.88px);
    -webkit-backdrop-filter: blur(6.88px);
}

.pdp .pdp-gallery__arrow:hover {
    background: #fff;
}

.pdp-gallery__arrow--prev {
    right: 11px;
}

.pdp-gallery__arrow--next {
    left: 10px;
}

.pdp-gallery__counter {
    display: none;
}

/* imagezoomsl lens/window must not break the stage */
.pdp .zoomWindowContainer,
.pdp .zoomWindow,
.pdp .zoomContainer {
    position: absolute !important;
}

/* ——— Seller card (under gallery) ——— */
.pdp-seller-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    padding: 8px 12px 12px;
    border-radius: 12px;
    background: var(--pdp-soft);
}

.pdp-seller-card__head {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
}

.pdp-seller-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fafafa;
    color: var(--pdp-ink);
}

.pdp-seller-card__name {
    min-width: 0;
    overflow: hidden;
    color: var(--pdp-ink);
    font-size: 14px;
    font-weight: 600;
    line-height: 28px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pdp-seller-card__badge {
    flex: none;
    margin-inline-start: auto;
    padding: 5px 9px;
    border-radius: 20px;
    background: #fff;
    color: var(--pdp-green);
    font-size: 11px;
    font-weight: 600;
    line-height: 17px;
    white-space: nowrap;
}

.pdp-seller-card__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
    border-radius: 8px;
    background: #fff;
}

.pdp-seller-card__stats {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-left: 8px !important;
}

.pdp-seller-card__stats li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 80px;
}

.pdp-seller-card__stats span {
    color: var(--pdp-muted);
    font-size: 14px;
    font-weight: 400;
    line-height: 25px;
}

.pdp-seller-card__stats strong {
    color: var(--pdp-ink);
    font-size: 14px;
    font-weight: 600;
    line-height: 28px;
    white-space: nowrap;
}

.pdp-seller-card__more {
    display: block;
    padding: 11px 0 4px;
    border-top: 1px solid var(--pdp-line-strong);
    color: var(--pdp-ink) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    text-decoration: underline !important;
    text-underline-offset: 5px;
}

.pdp-seller-card__more:hover {
    color: var(--pdp-green) !important;
}

/* ——— Info column ——— */
.pdp-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}

.pdp-head {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: -2px 0 -2px;
}

.pdp-head__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 28px;
}

.pdp-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.pdp-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 12px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #475467;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    white-space: nowrap;
    vertical-align: middle;
}

.pdp-badge--green {
    background: #f0fdf4;
    color: #15803d;
}

.pdp-badge--blue {
    background: #eff6ff;
    color: #1d4ed8;
}

.pdp-rate {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: none;
    color: var(--pdp-muted) !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    white-space: nowrap;
}

.pdp-rate__count,
.pdp-rate__score {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.pdp-rate__score b {
    font-weight: 400;
}

.pdp-rate__score .pdp-ico {
    width: 24px;
    height: 24px;
}

.pdp-title {
    color: var(--pdp-ink);
    font-size: 24px;
    font-weight: 700;
    line-height: 49px;
}

.pdp-title .pdp-badge {
    margin-inline-start: 8px;
}

.pdp .pdp-subtitle {
    color: var(--pdp-ink);
    font-size: 18px;
    font-weight: 500;
    line-height: 49px;
}

/* features + note + «مشاهده همه ویژگی‌ها» */
.pdp-feat {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}

.pdp-feat__block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdp-feat__title {
    display: block;
    color: var(--pdp-ink);
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
}

.pdp-feat__grid {
    display: flex;
    align-items: center;
    gap: 36px;
    padding: 8px 12px;
    border-radius: 12px;
}

.pdp-feat__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100px;
    min-width: 0;
}

.pdp-feat__item span {
    color: var(--pdp-gray);
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
}

.pdp-feat__item strong {
    color: var(--pdp-ink);
    font-size: 14px;
    font-weight: 500;
    line-height: 28px;
}

.pdp-feat__divider {
    flex: none;
    width: 1px;
    height: 44px;
    background: var(--pdp-line-strong);
}

.pdp-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    background: var(--pdp-note);
    color: var(--pdp-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 25.2px;
}

.pdp-note__icon {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.pdp-note__text {
    flex: 1;
    min-width: 0;
}

.pdp-note__text p {
    margin: 0;
}

.pdp .pdp-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid var(--pdp-muted);
    border-radius: 6px;
    background: #fff;
    color: var(--pdp-muted);
    font-size: 14px;
    font-weight: 500;
    line-height: 24px;
    white-space: nowrap;
    transition: color .15s ease, border-color .15s ease;
}

.pdp .pdp-btn-outline:hover {
    border-color: var(--pdp-ink);
    color: var(--pdp-ink);
}

.pdp-btn-outline .pdp-ico {
    width: 20px;
    height: 20px;
}

.pdp-more {
    align-self: flex-start;
}

/* colour swatches (colorbox variants) */
.pdp-colors {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdp-colors__list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pdp-colors__list label {
    position: relative;
    display: inline-flex;
    margin: 0;
    cursor: pointer;
}

.pdp-colors__list input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pdp-colors__swatch {
    width: 32px;
    height: 32px;
    border: 1px solid var(--pdp-line-strong);
    border-radius: 50%;
    box-shadow: inset 0 0 0 3px #fff;
}

.pdp-colors__list input:checked + .pdp-colors__swatch {
    border-color: var(--pdp-ink);
}

/* ——— Volume / variant pills ——— */
.pdp-volume {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 8px;
}

.pdp-volume__group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdp-volume__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.pdp-volume__label {
    color: var(--pdp-ink);
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
}

.pdp .pdp-volume__open {
    display: none;
}

.pdp-volume__pills,
.pdp-sheet__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pdp .pdp-pill {
    unicode-bidi: plaintext;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 40px;
    padding: 0 20px;
    border: 1px solid var(--pdp-line-strong);
    border-radius: 12px;
    background: #fff;
    color: var(--pdp-muted);
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
    white-space: nowrap;
    transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}

.pdp .pdp-pill:hover {
    border-color: #a8a8a8;
}

.pdp .pdp-pill.is-active {
    border-color: var(--pdp-ink);
    background: var(--pdp-fill);
    color: var(--pdp-ink);
}

.pdp-volume__native,
.pdp .gm-variant-picker__native--hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.pdp-volume__group .nice-select {
    display: none !important;
}

/* ——— Price + add to cart ——— */
.pdp-offer {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdp-offer__prices {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.pdp-offer__old {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 49px;
}

.pdp-offer__old del {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: var(--pdp-gray);
    font-size: 18px;
    font-weight: 400;
    line-height: 49px;
    text-decoration: line-through;
    text-decoration-color: var(--pdp-gray);
    text-decoration-thickness: 1px;
}

.pdp-offer__old del small {
    font-size: 16px;
}

.pdp-offer__off {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 12px;
    border-radius: 30px;
    background: var(--pdp-rose);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

.pdp-offer__now {
    display: flex;
    align-items: baseline;
    gap: 11px;
    height: 49px;
    color: var(--pdp-green);
    line-height: 49px;
    white-space: nowrap;
}

.pdp-offer__now b {
    font-size: 32px;
    font-weight: 700;
}

.pdp-offer__now small {
    font-size: 20px;
    font-weight: 500;
}

.pdp-offer__actions {
    display: flex;
    align-items: center;
    gap: 24px;
}

.pdp .pdp-cart {
    display: inline-flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    height: 40px;
    padding: 0 24px;
    border-radius: 8px;
    background: var(--pdp-green);
    color: #fff !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 28.8px;
    white-space: nowrap;
    transition: background-color .15s ease;
}

.pdp .pdp-cart:hover {
    background: var(--pdp-green-600);
}

.pdp .pdp-cart.is-at-limit,
.pdp .pdp-cart[aria-disabled="true"] {
    background: #9ad9c0;
    cursor: not-allowed;
}

.pdp .pdp-cart--notify {
    background: var(--pdp-ink);
}

.pdp .pdp-cart--notify:hover {
    background: #2b2b2b;
}

/* quantity stepper (Figma «Quantity») */
.pdp-qty {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    flex: none;
    width: 128px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    background: #fff;
}

.pdp-qty--sm {
    width: 124px;
    padding: 0 8px;
}

.pdp .pdp-qty__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f2f2f2;
    color: #1a1a1a;
    transition: background-color .15s ease, opacity .15s ease;
}

.pdp .pdp-qty__btn--minus {
    color: #666;
}

.pdp .pdp-qty__btn:hover {
    background: #e8e8e8;
}

.pdp .pdp-qty__btn:disabled,
.pdp .pdp-qty__btn.is-disabled {
    opacity: .45;
    cursor: default;
}

.pdp-qty__input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.pdp-qty__value {
    flex: 1;
    min-width: 0;
    color: #1a1a1a;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
}

/* unavailable */
.pdp-offer--unavailable .gm-unavailable-box {
    margin: 0;
}

.pdp .gm-unavailable-box__title {
    margin: 0 0 .45rem;
}

.pdp .gm-unavailable-box__text {
    margin: 0 auto 1rem;
}

/* ==========================================================================
   Middle: sellers, tabs, description/specs/usage/reviews + sticky summary
   ========================================================================== */
.pdp-mid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    column-gap: 32px;
    align-items: start;
    margin-top: 64px;
}

.pdp-mid__main {
    min-width: 0;
}

.pdp-mid__aside {
    position: relative;
    align-self: stretch;
    padding-top: 65px;
}

.pdp-mid__aside .pdp-sticky {
    position: sticky;
    top: calc(var(--gm-header-h, 0px) + 16px);
    max-height: calc(100vh - var(--gm-header-h, 0px) - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.pdp-mid:not(:has(.pdp-sellers)) .pdp-mid__aside {
    padding-top: 0;
}

.pdp-mid__aside:empty {
    display: none;
}

/* ——— Other sellers (desktop list) ——— */
.pdp-sellers {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 16px;
    margin-bottom: 63px;
}

.pdp-sellers__title {
    color: var(--pdp-heading);
    font-size: 24px;
    font-weight: 700;
    line-height: 28px;
}

.pdp-sellers__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pdp-seller-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    min-height: 74px;
    padding: 10px 20px;
    border-radius: 12px;
    background: var(--pdp-soft);
}

.pdp-seller-row__who {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.pdp-seller-row__shop {
    display: inline-flex;
    flex: none;
    color: var(--pdp-ink);
}

.pdp-seller-row__identity {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.pdp-seller-row__identity strong {
    color: var(--pdp-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 28px;
    white-space: nowrap;
}

.pdp-seller-row__identity span {
    color: var(--pdp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    white-space: nowrap;
}

.pdp-seller-row__sep {
    flex: none;
    width: 1px;
    height: 44px;
    background: var(--pdp-line-strong);
}

.pdp-seller-row__meta {
    unicode-bidi: plaintext;
    color: var(--pdp-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 21.6px;
    text-align: center;
}

.pdp-seller-row__price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    color: var(--pdp-ink);
    font-size: 16px;
    line-height: 49px;
    white-space: nowrap;
}

.pdp-seller-row__price b {
    font-weight: 700;
}

.pdp-seller-row__price span {
    font-weight: 500;
}

.pdp .pdp-seller-row__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 156px;
    height: 40px;
    padding: 0 16px;
    border-radius: 12px;
    background: var(--pdp-ink);
    color: #fff !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
    transition: background-color .15s ease;
}

.pdp .pdp-seller-row__btn:hover {
    background: #262626;
}

.pdp .pdp-sellers-bar {
    display: none;
}

/* ——— Section tabs ——— */
.pdp-tabs {
    position: sticky;
    top: var(--gm-header-h, 0px);
    z-index: 20;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 24px;
    height: 54px;
    margin-bottom: 40px;
    background: #fff;
}

.pdp-tabs::after {
    content: "";
    position: absolute;
    right: calc(-1 * var(--pdp-bleed));
    bottom: -12px;
    left: 0;
    height: 12px;
    background: linear-gradient(rgba(16, 24, 40, .07), rgba(16, 24, 40, 0));
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}

.pdp-tabs.is-stuck::after {
    opacity: 1;
}

.pdp-tabs__buy {
    display: none;
    align-items: center;
    gap: 16px;
    flex: none;
}

.pdp-tabs__price {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: var(--pdp-green);
    white-space: nowrap;
}

.pdp-tabs__price b {
    font-size: 18px;
    font-weight: 700;
}

.pdp-tabs__price small {
    font-size: 13px;
    font-weight: 500;
}

.pdp .pdp-tabs__cart {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 16px;
    border-radius: 8px;
    background: var(--pdp-green);
    color: #fff !important;
    font-size: 14px;
    white-space: nowrap;
}

.pdp .pdp-tabs__cart .pdp-ico {
    width: 20px;
    height: 20px;
}

.pdp-tabs::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: calc(-1 * var(--pdp-bleed));
    z-index: -1;
    border-bottom: 1.5px solid var(--pdp-line);
    background: #fff;
}

.pdp-tabs__inner {
    display: flex;
    align-items: stretch;
    gap: 64px;
    height: 100%;
}

.pdp-tabs__inner a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 122px;
    width: 122px;
    padding: 4px 0;
    color: var(--pdp-muted);
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
    white-space: nowrap;
    transition: color .15s ease;
}

.pdp-tabs__inner a:hover {
    color: var(--pdp-ink);
}

.pdp-tabs__inner a.is-active {
    color: var(--pdp-ink);
}

.pdp-tabs__inner a.is-active::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--pdp-green-tab);
}

/* ——— Accordion sections ——— */
.pdp-sections {
    display: flex;
    flex-direction: column;
}

.pdp-fold {
    scroll-margin-top: calc(var(--gm-header-h, 0px) + 62px);
}

.pdp-fold + .pdp-fold {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--pdp-line);
}

.pdp-sections > .pdp-fold--reviews {
    margin-top: 87px;
    padding-top: 0;
    border-top: 0;
}

.pdp-sections > .pdp-fold--reviews:first-child {
    margin-top: 0;
}

.pdp-fold__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 32px;
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.pdp-fold__head::-webkit-details-marker {
    display: none;
}

.pdp-fold__head::marker {
    content: "";
}

.pdp-fold__title {
    color: var(--pdp-heading);
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
}

.pdp-fold__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fafafa;
    color: var(--pdp-green-600);
}

.pdp-fold__toggle .pdp-ico {
    transition: transform .2s ease;
}

.pdp-fold:not([open]) .pdp-fold__toggle .pdp-ico {
    transform: rotate(180deg);
}

.pdp-fold__open {
    display: none;
}

.pdp-fold__body {
    padding-top: 24px;
}

/* description */
.pdp-clamp {
    position: relative;
}

.pdp-clamp__text {
    color: var(--pdp-muted);
    font-size: 17px;
    font-weight: 400;
    line-height: 26px;
    overflow-wrap: anywhere;
}

.pdp-clamp__text p,
.pdp-clamp__text ul,
.pdp-clamp__text ol {
    margin: 0 0 8px;
}

.pdp-clamp__text > :last-child {
    margin-bottom: 0;
}

.pdp-clamp__text img {
    max-width: 100%;
    height: auto;
}

.pdp-clamp.is-clamped .pdp-clamp__text {
    max-height: 52px;
    overflow: hidden;
}

.pdp .pdp-clamp__more {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: var(--pdp-muted);
    font-size: 17px;
    font-weight: 400;
    line-height: 26px;
}

.pdp-clamp.is-clamped .pdp-clamp__more {
    position: absolute;
    bottom: 0;
    left: 0;
    padding-right: 24px;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), #fff 24px);
}

.pdp-clamp.is-open .pdp-clamp__more {
    margin-top: 8px;
}

.pdp-clamp.is-open .pdp-clamp__dots,
.pdp-clamp__more .pdp-ico {
    display: none;
}

/* specs / usage table */
.pdp-table {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pdp-table__row {
    display: grid;
    grid-template-columns: 109px minmax(0, 1fr);
    column-gap: 157px;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 8px;
}

.pdp-table--specs .pdp-table__row:nth-child(odd),
.pdp-table--usage .pdp-table__row:nth-child(even) {
    min-height: 44px;
    padding-top: 8px;
    padding-bottom: 8px;
    background: var(--pdp-fill);
}

.pdp-table dt {
    white-space: nowrap;
    color: var(--pdp-muted);
    font-size: 14px;
    font-weight: 500;
    line-height: 28px;
}

.pdp-table dd {
    margin: 0;
    color: var(--pdp-muted);
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    overflow-wrap: anywhere;
}

.pdp-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.pdp-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 12px;
    border-radius: 6px;
    background: var(--pdp-fill);
    color: var(--pdp-muted);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

.pdp-table__row:nth-child(odd) .pdp-chip {
    background: #ebebeb;
}

.pdp-table--usage .pdp-table__row:nth-child(odd) .pdp-chip {
    background: var(--pdp-fill);
}

.pdp-chips-text {
    display: none;
}

/* ——— Reviews ——— */
.pdp-reviews__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 60px;
}

.pdp-reviews__score {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pdp-reviews__count {
    display: inline-flex;
    gap: 4px;
    color: var(--pdp-muted);
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    white-space: nowrap;
}

.pdp-reviews__mark {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.pdp-reviews__mark b {
    color: var(--pdp-ink);
    font-size: 40px;
    font-weight: 800;
    line-height: 60px;
}

.pdp-sort {
    display: flex;
    align-items: center;
    gap: 16px;
}

.pdp .pdp-sort button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 29px;
    padding: 4px 16px;
    border: 1px solid #d4d4d4;
    border-radius: 30px;
    color: var(--pdp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    white-space: nowrap;
}

.pdp .pdp-sort button.is-active {
    border-color: var(--pdp-ink);
}

/* partial-fill stars (fills from the right, like Figma) */
.pdp-stars {
    position: relative;
    display: inline-flex;
    flex: none;
    direction: rtl;
    line-height: 0;
}

.pdp-stars__row {
    display: inline-flex;
    gap: var(--star-gap, 0px);
    white-space: nowrap;
}

.pdp-stars__row svg {
    display: block;
    flex: none;
}

.pdp-stars__row--base svg {
    fill: var(--pdp-fill);
}

.pdp-stars__row--fill {
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
}

.pdp-stars__row--fill svg {
    fill: #facc15;
}

.pdp-review-list {
    display: flex;
    flex-direction: column;
    margin-top: 24px !important;
}

.pdp-review {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 0 24px max(12px, calc(100% - 774px));
}

.pdp-review + .pdp-review {
    margin-top: 24px;
    padding-top: 48px;
}

.pdp-review + .pdp-review::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: calc(-1 * var(--pdp-bleed));
    border-top: 1px solid var(--pdp-line);
}

.pdp-review__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
}

.pdp-review__who {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.pdp-review__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 41px;
    height: 41px;
    border-radius: 50%;
    background: #e6e6e6;
    color: var(--pdp-gray);
}

.pdp-review__avatar-desk .pdp-ico {
    width: 41px;
    height: 41px;
}

.pdp-review__avatar-mob {
    display: none;
}

.pdp-review__identity {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.pdp-review__name {
    color: #000;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}

.pdp-review__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: none;
    color: #6b6b6b;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
}

.pdp-review__dot {
    width: 1px;
    height: 14px;
    background: #c3c3c3;
}

.pdp-review__body {
    padding: 0 12px;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    line-height: 25px;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

#comment_show .pdp-review__body {
    cursor: pointer;
}

.pdp-review__body.is-clamped {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
}

.pdp-review__title {
    display: block;
}

.pdp-review-pager {
    display: flex;
    justify-content: flex-start;
    padding-top: 24px;
}

.pdp-review-pager__btn {
    width: 160px;
}

.pdp-review-pager__btn.is-loading {
    opacity: .6;
    pointer-events: none;
}

.pdp-empty {
    color: var(--pdp-muted);
    font-size: 14px;
    line-height: 25px;
}

/* ——— Sticky purchase summary ——— */
.pdp-sticky {
    overflow: hidden;
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .05);
}

.pdp-sticky__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    min-height: 56px;
    padding: 14px 16px;
    background: var(--pdp-note);
}

.pdp-sticky__head strong {
    min-width: 0;
    overflow: hidden;
    color: var(--pdp-green-600);
    font-size: 14px;
    font-weight: 700;
    line-height: 28px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pdp-sticky__verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: none;
    height: 27px;
    padding: 4px 8px;
    border-radius: 1000px;
    background: #fff;
    color: var(--pdp-green-600);
    font-size: 12px;
    font-weight: 500;
    line-height: 19px;
}

.pdp-sticky__verified .pdp-ico {
    width: 18px;
    height: 18px;
}

.pdp-sticky__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px 16px 12px;
}

.pdp-sticky__product {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--pdp-line);
}

.pdp-sticky__thumb {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--pdp-fill);
}

.pdp-sticky__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pdp-sticky__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}

.pdp-sticky__copy p {
    overflow: hidden;
    color: var(--pdp-ink);
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 100%;
}

.pdp-sticky__price {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    white-space: nowrap;
}

.pdp-sticky__price b {
    color: var(--pdp-green);
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
}

.pdp-sticky__price small {
    color: var(--pdp-muted);
    font-size: 10px;
    font-weight: 400;
    line-height: 15px;
}

.pdp-sticky__unit {
    unicode-bidi: plaintext;
    color: var(--pdp-muted);
    font-size: 11px;
    line-height: 17px;
}

.pdp-sticky__qty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--pdp-muted);
    font-size: 13px;
    line-height: 20px;
}

.pdp-sticky__foot {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 16px 24px;
    background: var(--pdp-fill);
}

.pdp-sticky__line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 20px;
    color: var(--pdp-muted);
    font-size: 13px;
    line-height: 20px;
}

.pdp-sticky__ship {
    color: var(--pdp-green-700);
    font-size: 13px;
    font-weight: 600;
}

.pdp .pdp-sticky__go {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 24px;
    border-radius: 8px;
    background: var(--pdp-green);
    color: #fff !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 28.8px;
    transition: background-color .15s ease;
}

.pdp .pdp-sticky__go:hover {
    background: var(--pdp-green-600);
}

.pdp .pdp-sticky__go.is-at-limit {
    background: #9ad9c0;
}

/* ==========================================================================
   Suggested products
   ========================================================================== */
.pdp-suggest {
    position: relative;
    width: 100%;
    margin: 64px 0;
    padding: 64px 16px 0;
    overflow: hidden;
}

.pdp-suggest::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    border-top: 1px solid var(--pdp-line);
}

.pdp-suggest__inner {
    width: 100%;
    max-width: var(--pdp-content);
    margin: 0 auto;
}

.pdp-suggest__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 34px;
    margin-bottom: 24px;
}

.pdp-suggest__head h2 {
    color: #232323;
    font-size: 24px;
    font-weight: 700;
    line-height: 34px;
}

.pdp-suggest__head a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--pdp-green) !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
}

.pdp-suggest__head a .pdp-ico {
    width: 24px;
    height: 24px;
}

.pdp-suggest__slider.swiper {
    overflow: hidden;
    margin-left: calc(-1 * var(--pdp-bleed));
    padding-left: 0;
}

.pdp-suggest__slider .swiper-wrapper {
    align-items: stretch;
}

.pdp-suggest__slider .pdp-scard-slide {
    width: 216px !important;
    height: auto;
}

.pdp-scard {
    display: flex;
    flex-direction: column;
    gap: 2px;
    height: 300px;
    padding: 16px 16px 8px;
    border: 1px solid #e7e7e7;
    border-radius: 12px;
    background: #fff;
    color: #454545 !important;
    transition: box-shadow .15s ease, border-color .15s ease;
}

.pdp-scard:hover {
    border-color: #d9d9d9;
    box-shadow: 0 6px 18px rgba(16, 24, 40, .06);
}

.pdp-scard__media {
    position: relative;
    display: block;
    flex: none;
    height: 182px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--pdp-fill);
}

.pdp-scard__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pdp-scard__credit {
    position: absolute;
    top: 4px;
    left: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 4px;
    border-radius: 24px;
    background: var(--pdp-green-tab);
    color: #fff;
    font-size: 10px;
    font-weight: 400;
    line-height: 15px;
    white-space: nowrap;
}

.pdp-scard__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.pdp-scard__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 21px;
}

.pdp-scard__title {
    min-width: 0;
    overflow: hidden;
    color: #454545;
    font-size: 14px;
    font-weight: 600;
    line-height: 21px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pdp-scard__rate {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex: none;
    color: #454545;
    font-size: 12px;
    line-height: 18px;
}

.pdp-scard__rate .pdp-ico {
    width: 12px;
    height: 12px;
}

.pdp-scard__brand {
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 16px;
    color: var(--pdp-gray);
    font-size: 10px;
    line-height: 15px;
}

.pdp-scard__brand-mark {
    flex: none;
    width: 12px;
    height: 12px;
    overflow: hidden;
    border: 1.5px solid #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, #a78bfa, #7c3aed);
    box-shadow: 0 0 0 .5px rgba(0, 0, 0, .06);
}

.pdp-scard__brand-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pdp-scard__deal {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    min-height: 17px;
    margin-top: 6px;
}

.pdp-scard__deal del {
    color: var(--pdp-muted);
    font-size: 10px;
    font-weight: 500;
    line-height: 15px;
}

.pdp-scard__off {
    display: inline-flex;
    align-items: center;
    height: 14px;
    padding: 0 8px;
    border-radius: 16px;
    background: rgba(255, 79, 90, .1);
    color: #ff2836;
    font-size: 10px;
    font-weight: 600;
    line-height: 11px;
}

.pdp-scard__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    min-height: 24px;
}

.pdp-scard__loc {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    color: var(--pdp-muted);
    font-size: 10px;
    line-height: 15px;
    white-space: nowrap;
}

.pdp-scard__loc .pdp-ico {
    width: 12px;
    height: 12px;
}

.pdp-scard__now {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    flex: none;
    color: #454545;
    white-space: nowrap;
}

.pdp-scard__now b {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

.pdp-scard__now b.is-muted {
    color: var(--pdp-gray);
    font-size: 13px;
}

.pdp-scard__now small {
    font-size: 10px;
    font-weight: 500;
    line-height: 15px;
}

.pdp-suggest__dots.swiper-pagination {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 32px;
    line-height: 0;
}

.pdp-suggest__dots .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    border-radius: 38px;
    background: #ccc;
    opacity: 1;
    transition: width .2s ease, background-color .2s ease;
}

.pdp-suggest__dots .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: 16px;
    background: var(--pdp-green);
}

.pdp-suggest__dots.swiper-pagination-lock {
    display: none;
}

/* ==========================================================================
   Bottom sheets (mobile only)
   ========================================================================== */
.pdp-sheet {
    position: fixed;
    inset: 0;
    z-index: 1200;
}

.pdp-sheet__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 17, .5);
    opacity: 0;
    transition: opacity .25s ease;
}

.pdp-sheet__panel {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    max-height: 72vh;
    padding: 8px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    border-radius: 24px 24px 0 0;
    background: #fff;
    transform: translateY(100%);
    transition: transform .28s cubic-bezier(.2, .8, .2, 1);
}

.pdp-sheet--tall .pdp-sheet__panel {
    max-height: 78vh;
}

.pdp-sheet[data-attr-sheet] .pdp-sheet__panel {
    min-height: min(600px, 70vh);
}

.pdp-sheet.is-open .pdp-sheet__backdrop {
    opacity: 1;
}

.pdp-sheet.is-open .pdp-sheet__panel {
    transform: translateY(0);
}

.pdp-sheet__grab {
    align-self: center;
    flex: none;
    width: 36px;
    height: 4px;
    margin-bottom: 12px;
    border-radius: 4px;
    background: #d6d6d6;
}

.pdp-sheet__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 40px;
    margin-bottom: 16px;
}

.pdp-sheet__top h3 {
    color: var(--pdp-ink);
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.pdp .pdp-sheet__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--pdp-ink);
}

.pdp-sheet__list,
.pdp-review-list--sheet {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 0;
    margin: 0 !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: 4px;
}

.pdp-sheet__pills {
    gap: 8px;
}

body.pdp-sheet-open {
    overflow: hidden !important;
}

.pdp-seller-sheet-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 14px 16px;
    border-radius: 12px;
    background: var(--pdp-soft);
}

.pdp-seller-sheet-card__line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--pdp-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 20px;
}

.pdp-seller-sheet-card__line strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pdp-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
}

.pdp-seller-sheet-card__line strong .pdp-ico {
    width: 20px;
    height: 20px;
}

.pdp-seller-sheet-card__price {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: var(--pdp-ink);
}

.pdp-seller-sheet-card__price b {
    font-size: 16px;
    font-weight: 700;
}

.pdp-seller-sheet-card__price small {
    font-size: 10px;
}

.pdp .pdp-seller-sheet-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    margin-top: 4px;
    border-radius: 12px;
    background: var(--pdp-ink);
    color: #fff !important;
    font-size: 16px;
    font-weight: 400;
}

@media (min-width: 992px) {
    .pdp-sheet {
        display: none !important;
    }

    .gm-mobile-buy-bar.gm-mobile-buy-bar--pdp {
        display: none !important;
    }
}

/* ==========================================================================
   Narrow desktop / tablet landscape
   ========================================================================== */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .pdp-mid {
        grid-template-columns: minmax(0, 1fr);
    }

    .pdp-mid__aside {
        display: none;
    }

    .pdp-tabs::before {
        right: calc(-1 * var(--pdp-bleed));
        left: calc(-1 * var(--pdp-bleed));
    }

    /* no side summary at this width → offer a compact buy button inside the stuck tab bar */
    .pdp-tabs::after {
        left: calc(-1 * var(--pdp-bleed));
    }

    .pdp-tabs.is-stuck .pdp-tabs__buy:not(.is-off) {
        display: flex;
    }

    .pdp-tabs__inner {
        gap: 32px;
    }

    .pdp-seller-row__meta {
        min-width: 0;
    }
}

/* ==========================================================================
   Mobile (Figma 390)
   ========================================================================== */
@media (max-width: 991.98px) {
    .pdp {
        --pdp-bleed: 16px;
    }

    /* header per Figma: logo right, search left, 72px, hairline bottom */
    body.gm-pdp-page .gm-header-mobile.header-responsive {
        min-height: 72px;
        padding: 18px 16px 10px;
        border-bottom: 1px solid #e7e7e7;
        box-shadow: none;
        background: #fff;
    }

    body.gm-pdp-page .gm-header-mobile .gm-header-mobile__bar {
        width: 100%;
        min-height: 33px;
    }

    body.gm-pdp-page .gm-header-mobile .gm-header-mobile__logo img {
        max-height: 33px;
    }

    body.gm-pdp-page .gm-header-mobile .gm-header-mobile__search {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: rgba(245, 245, 245, .62);
        backdrop-filter: blur(3.4px);
    }

    body.gm-pdp-page .gm-header-mobile .gm-header-mobile__search svg {
        width: 20px;
        height: 20px;
    }

    /* the buy bar replaces the bottom navigation on the PDP */
    body.gm-pdp-page:has(#gm-mobile-buy-bar) .gm-bottom-nav {
        display: none !important;
    }

    body.gm-pdp-page:has(#gm-mobile-buy-bar) .page-wrapper {
        padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px));
    }

    .gm-theme .container.single-product.pdp,
    .container.single-product.pdp {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 16px 0 !important;
        overflow: visible;
    }

    .gm-theme .single-product--mobile {
        padding-bottom: 0;
    }

    /* breadcrumb */
    .pdp-crumb {
        gap: 6px;
        min-height: 42px;
        margin: 0;
        padding: 12px 0;
        color: var(--pdp-muted);
        font-size: 12px;
        font-weight: 400;
        line-height: 18px;
    }

    .pdp-crumb a {
        color: var(--pdp-muted);
    }

    .pdp-crumb a.is-current {
        color: var(--pdp-ink);
        font-weight: 600;
    }

    .pdp-crumb__sep {
        font-family: Inter, Arial, sans-serif;
        font-size: 12px;
        line-height: 15px;
    }

    /* hero becomes a single column: gallery → info → volume → seller card */
    .pdp-hero {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .pdp-head {
        margin: 0;
    }

    .pdp-hero__media,
    .pdp-hero__info {
        display: contents;
    }

    #product-gallery-box {
        order: 1;
        padding: 4px 0 16px;
    }

    .pdp-form {
        order: 2;
        gap: 24px;
        padding-top: 26px;
    }

    .pdp-sep--volume {
        order: 3;
        margin-top: 24px;
    }

    .pdp-volume {
        order: 4;
        margin-top: 24px;
        padding-bottom: 0;
    }

    .pdp-sep--buy {
        order: 5;
        margin-top: 24px;
    }

    #product-price-box {
        order: 6;
        margin-top: 24px;
    }

    #product-seller-card-box {
        order: 7;
        margin-top: 24px;
        padding-bottom: 24px;
    }

    #product-seller-card-box:not(:has(.pdp-seller-card)) {
        margin-top: 0;
        padding-bottom: 0;
    }

    body:has(#gm-mobile-buy-bar) .pdp-hero:not(:has(.pdp-seller-card)) .pdp-sep--buy {
        display: none;
    }

    /* the fixed action area replaces the inline buy box when it is rendered */
    body:has(#gm-mobile-buy-bar) #product-price-box {
        display: none;
    }

    .pdp-hero:not(:has(.pdp-seller-card)) #product-price-box {
        padding-bottom: 24px;
    }

    .pdp-sep {
        border-top-color: var(--pdp-line);
    }

    /* gallery */
    .pdp-gallery {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 12px;
    }

    .pdp-gallery__stage {
        flex: none;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 16px;
    }

    .pdp-gallery__stage .pdp-gallery__img,
    .pdp-gallery__stage .zoomWrapper,
    .pdp-gallery__stage .zoomWrapper img {
        max-width: 92%;
        max-height: 86%;
    }

    .pdp-gallery__tools {
        top: 8px;
        right: 8px;
    }

    .pdp .pdp-gallery__expand {
        display: none;
    }

    .pdp-tabs__inner {
        flex: 1 1 auto;
    }

    .pdp .pdp-gallery__arrow {
        display: none;
    }

    .pdp-gallery__counter {
        position: absolute;
        right: 8px;
        bottom: 24px;
        z-index: 3;
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 6px 10px;
        border-radius: 18px;
        background: rgba(255, 255, 255, .91);
        color: var(--pdp-ink);
        font-size: 12px;
        font-weight: 600;
        line-height: 18px;
        direction: ltr;
    }

    .pdp-gallery__thumbs {
        flex: none;
        flex-direction: row;
        gap: 8px;
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .pdp-gallery__thumbs::-webkit-scrollbar {
        display: none;
    }

    .pdp-gallery__thumb,
    .pdp .pdp-gallery__video {
        flex: 0 0 62px;
        width: 62px;
        height: 62px;
        padding: 0;
        border: 2px solid transparent;
        border-radius: 10px;
    }

    .pdp-gallery__thumb img {
        object-fit: cover;
        border-radius: 8px;
    }

    .pdp-gallery__thumb.is-active {
        border-color: var(--pdp-green);
    }

    .pdp .pdp-gallery__video {
        border: 0;
        color: var(--pdp-muted);
    }

    .pdp-gallery__video .pdp-ico {
        width: 25px;
        height: 25px;
    }

    .pdp-gallery__video .pdp-ico path {
        stroke-width: 2px;
    }

    /* head */
    .pdp-head {
        gap: 24px;
    }

    .pdp-head__meta {
        gap: 12px;
        min-height: 27px;
    }

    .pdp-badges {
        gap: 6px;
    }

    .pdp-badge {
        min-height: 27px;
        padding: 5px 8px;
        font-size: 11px;
        font-weight: 600;
        line-height: 17px;
    }

    .pdp-badge--green {
        background: var(--pdp-note);
        color: #00885a;
    }

    .pdp-badge--blue {
        background: #eef5ff;
        color: #3974c6;
    }

    .pdp-rate {
        gap: 5px;
        font-size: 12px;
        line-height: 18px;
    }

    .pdp-rate__score {
        gap: 5px;
        font-size: 13px;
        line-height: 20px;
    }

    .pdp-rate__score .pdp-ico {
        width: 20px;
        height: 20px;
    }

    .pdp-rate__score .pdp-ico path {
        fill: #facc15;
    }

    .pdp-title {
        font-size: 20px;
        font-weight: 800;
        line-height: 31px;
    }

    .pdp .pdp-subtitle {
        margin-top: -16px;
        font-size: 15px;
        font-weight: 500;
        line-height: 25.5px;
    }

    /* features */
    .pdp-feat {
        gap: 12px;
    }

    .pdp-feat__block {
        gap: 12px;
    }

    .pdp-feat__title {
        font-size: 14px;
        font-weight: 700;
        line-height: 21px;
    }

    .pdp-feat__grid {
        gap: 14px;
        padding: 12px;
    }

    .pdp-feat__item {
        flex: 1 1 0;
        width: auto;
        max-width: 92px;
    }

    .pdp-feat__item span,
    .pdp-feat__item strong {
        font-size: 12px;
        line-height: 18px;
    }

    .pdp-feat__item strong {
        font-weight: 600;
    }

    .pdp-feat__divider {
        height: 48px;
    }

    .pdp-note {
        gap: 10px;
        padding: 12px;
        font-size: 11px;
        line-height: 20.9px;
    }

    .pdp-note__icon .pdp-ico rect {
        fill: #fff;
    }

    .pdp .pdp-btn-outline {
        font-size: 12px;
    }

    /* volume */
    .pdp-volume__group {
        gap: 16px;
    }

    .pdp-volume__label {
        font-size: 14px;
        font-weight: 700;
        line-height: 21px;
    }

    .pdp .pdp-volume__open {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 21px;
        margin-left: -3px;
        color: var(--pdp-muted);
    }

    .pdp-volume__pills {
        flex-wrap: nowrap;
        gap: 8px;
        margin: 0 -16px;
        padding: 0 16px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .pdp-volume__pills::-webkit-scrollbar {
        display: none;
    }

    .pdp .pdp-pill {
        flex: none;
        height: 36px;
        padding: 0 15px;
        font-size: 12px;
        line-height: 18px;
    }

    /* seller card */
    .pdp-seller-card__badge {
        padding: 0;
        background: none;
        color: var(--pdp-ink);
        font-size: 12px;
        font-weight: 500;
        line-height: 28px;
    }

    .pdp-seller-card__stats {
        padding-left: 0 !important;
    }

    .pdp-seller-card__stats li {
        min-width: 0;
    }

    .pdp-seller-card__stats span {
        font-size: 12px;
        line-height: 21.6px;
    }

    .pdp-seller-card__stats strong {
        font-size: 12px;
        line-height: 28px;
    }

    .pdp-seller-card__more {
        padding: 12px 0 4px;
        font-size: 14px;
        line-height: 21px;
    }
}

@media (max-width: 991.98px) {
    /* middle */
    .pdp-mid {
        display: block;
        margin-top: 0;
    }

    .pdp-mid__aside {
        display: none !important;
    }

    .pdp-sellers {
        display: none;
    }

    .pdp .pdp-sellers-bar {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 16px;
        width: calc(100% + 32px);
        min-height: 79px;
        margin: 0 -16px;
        padding: 23px 16px 27px;
        border-top: 1px solid var(--pdp-line);
        border-bottom: 1px solid var(--pdp-line);
        background: #fff;
        color: var(--pdp-muted);
        text-align: right;
    }

    .pdp-sellers-bar__title {
        color: #232323;
        font-size: 18px;
        font-weight: 800;
        line-height: 27px;
    }

    .pdp-sellers-bar .pdp-ico {
        margin-bottom: 1px;
    }

    .pdp-seller-box:has(.pdp-sellers-bar) + .pdp-tabs {
        border-top: 0;
    }

    /* tabs: four equal columns, full-bleed */
    .pdp-tabs {
        height: 56px;
        margin: 0 -16px;
        border-bottom: 1px solid var(--pdp-line);
    }

    .pdp-tabs::before {
        display: none;
    }

    .pdp-tabs::after {
        right: 0;
        left: 0;
    }

    .pdp-tabs__inner {
        gap: 0;
    }

    .pdp-tabs__inner a {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        padding: 0 2px;
        font-size: 13px;
        font-weight: 600;
        line-height: 20px;
    }

    .pdp-tabs__inner a.is-active {
        font-weight: 700;
    }

    /* accordion sections */
    .pdp-fold {
        scroll-margin-top: calc(var(--gm-header-h, 0px) + 64px);
    }

    .pdp-fold + .pdp-fold {
        position: relative;
        margin-top: 0;
        padding-top: 12px;
        border-top: 0;
    }

    .pdp-fold + .pdp-fold::before {
        content: "";
        position: absolute;
        top: 0;
        right: -16px;
        left: -16px;
        border-top: 1px solid var(--pdp-line);
    }

    .pdp-fold--desc {
        padding: 20px 0 24px;
    }

    #pdp-specs {
        padding-bottom: 24px;
    }

    #pdp-usage {
        padding-bottom: 28px;
    }

    .pdp-sections > .pdp-fold:first-child:not(.pdp-fold--desc) {
        padding-top: 12px;
    }

    .pdp-fold__head {
        min-height: 48px;
    }

    .pdp-fold__title {
        color: var(--pdp-ink);
        font-size: 16px;
        font-weight: 800;
        line-height: 24px;
    }

    .pdp-fold__toggle {
        width: 34px;
        height: 34px;
        color: var(--pdp-green);
    }

    .pdp-fold__toggle .pdp-ico {
        width: 17px;
        height: 17px;
    }

    .pdp-fold__toggle .pdp-ico path {
        stroke-width: 1.8;
    }

    .pdp-fold__body {
        padding-top: 8px;
    }

    .pdp-fold--desc .pdp-fold__body {
        padding-top: 12px;
    }

    /* description */
    .pdp-clamp__text {
        font-size: 14px;
        line-height: 28px;
    }

    .pdp-clamp.is-clamped .pdp-clamp__text {
        max-height: 112px;
    }

    .pdp .pdp-clamp__more,
    .pdp-clamp.is-clamped .pdp-clamp__more {
        position: static;
        gap: 5px;
        margin-top: 12px;
        padding: 0;
        background: none;
        color: var(--pdp-green);
        font-size: 13px;
        font-weight: 600;
        line-height: 20px;
    }

    .pdp-clamp__dots {
        display: none;
    }

    .pdp-clamp__more .pdp-ico {
        display: block;
        transition: transform .2s ease;
    }

    .pdp-clamp.is-open .pdp-clamp__more .pdp-ico {
        transform: rotate(180deg);
    }

    /* table rows */
    .pdp-table {
        gap: 8px;
    }

    .pdp-table__row,
    .pdp-table--specs .pdp-table__row:nth-child(odd),
    .pdp-table--usage .pdp-table__row:nth-child(even) {
        grid-template-columns: 112px minmax(0, 1fr);
        column-gap: 16px;
        min-height: 48px;
        padding: 10px 12px;
        background: #fff;
    }

    .pdp-table--specs .pdp-table__row:nth-child(odd),
    .pdp-table--usage .pdp-table__row:nth-child(even) {
        background: var(--pdp-fill);
    }

    .pdp-table dt {
        font-size: 12px;
        font-weight: 600;
        line-height: 20.4px;
    }

    .pdp-table dd {
        font-size: 12px;
        line-height: 20.4px;
    }

    .pdp-chips {
        display: none;
    }

    .pdp-chips-text {
        display: inline;
        white-space: pre-wrap;
    }

    /* reviews */
    .pdp-sections > .pdp-fold--reviews {
        position: relative;
        margin-top: 0;
        padding: 24px 0 32px;
    }

    .pdp-sections > .pdp-fold--reviews:not(:first-child)::before {
        display: none;
    }

    .pdp-fold--reviews .pdp-fold__head {
        min-height: 24px;
        cursor: default;
        pointer-events: none;
    }

    .pdp-fold--reviews .pdp-fold__toggle {
        display: none;
    }

    .pdp-fold--reviews .pdp-fold__open {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        margin-left: -3px;
        color: var(--pdp-muted);
        cursor: pointer;
        pointer-events: auto;
    }

    .pdp-fold--reviews .pdp-fold__body {
        padding-top: 16px;
    }

    .pdp-reviews__head {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        min-height: 0;
    }

    .pdp-reviews__score {
        order: -1;
        justify-content: space-between;
        min-height: 48px;
        padding: 0 16px;
    }

    .pdp-reviews__count {
        order: 2;
        font-size: 12px;
        line-height: 18px;
    }

    .pdp-reviews__mark {
        gap: 8px;
    }

    .pdp-reviews__mark b {
        font-size: 32px;
        line-height: 48px;
    }

    .pdp-sort {
        gap: 8px;
    }

    .pdp .pdp-sort button {
        height: 38px;
        padding: 0 16px;
        border-color: var(--pdp-line-strong);
        border-radius: 20px;
    }

    .pdp .pdp-sort button.is-active {
        color: var(--pdp-ink);
        font-weight: 600;
    }

    #comment_show.pdp-review-list {
        flex-direction: row;
        align-items: stretch;
        gap: 16px;
        margin: 16px -16px -16px !important;
        padding: 0 16px 16px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding: 0 16px;
        scrollbar-width: none;
    }

    #comment_show.pdp-review-list::-webkit-scrollbar {
        display: none;
    }

    .pdp-review,
    .pdp-review + .pdp-review,
    .pdp-review-list--sheet .pdp-review {
        flex: 0 0 min(307px, 80vw);
        min-height: 253px;
        gap: 14px;
        margin: 0;
        padding: 16px;
        border: 1px solid var(--pdp-line);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 4px 16px rgba(0, 0, 0, .05);
        scroll-snap-align: start;
    }

    .pdp-review-list--sheet .pdp-review {
        flex: none;
        min-height: 0;
    }

    .pdp-review + .pdp-review::before {
        display: none;
    }

    #comment_show .pdp-review-pager {
        display: none;
    }

    .pdp-review__top {
        gap: 8px;
        padding: 0;
    }

    .pdp-review__who {
        gap: 10px;
    }

    .pdp-review__avatar {
        width: 40px;
        height: 40px;
        background: var(--pdp-fill);
    }

    .pdp-review__avatar-desk {
        display: none;
    }

    .pdp-review__avatar-mob {
        display: inline-flex;
    }

    .pdp-review__identity {
        gap: 5px;
    }

    .pdp-review__name {
        color: var(--pdp-ink);
        font-size: 15px;
        font-weight: 700;
        line-height: 23px;
    }

    .pdp-review__meta {
        gap: 6px;
        color: var(--pdp-muted);
        font-size: 11px;
        line-height: 17px;
    }

    .pdp-review__dot {
        width: 3px;
        height: 3px;
        border-radius: 50%;
        background: var(--pdp-muted);
    }

    .pdp-review__body {
        padding: 0;
        color: var(--pdp-ink);
        font-size: 13px;
        line-height: 25.35px;
    }

    #comment_show .pdp-review__body {
        cursor: default;
    }

    .pdp-review-list--sheet .pdp-review__body.is-clamped {
        display: block;
        -webkit-line-clamp: unset;
        overflow: visible;
    }

    .pdp-review-list--sheet .pdp-review-pager {
        padding-top: 0;
    }

    /* suggestions */
    .pdp-suggest {
        margin: 0;
        padding: 26px 16px 32px;
    }

    .pdp-suggest__head {
        min-height: 27px;
        margin-bottom: 34px;
    }

    .pdp-suggest__head h2 {
        color: var(--pdp-ink);
        font-size: 18px;
        font-weight: 800;
        line-height: 27px;
    }

    .pdp-suggest__head a {
        font-size: 13px;
        font-weight: 600;
        line-height: 20px;
    }

    .pdp-suggest__head a .pdp-ico {
        width: 16px;
        height: 16px;
    }

    .pdp-suggest__slider .pdp-scard-slide {
        width: 200px !important;
    }

    .pdp-scard {
        height: 292px;
        padding: 14px 14px 8px;
    }

    .pdp-scard__media {
        height: 172px;
    }

    .pdp-suggest__dots.swiper-pagination {
        gap: 6px;
        margin-top: 34px;
    }

    .pdp-suggest__dots .swiper-pagination-bullet {
        width: 7px;
        height: 7px;
        background: var(--pdp-line-strong);
    }

    .pdp-suggest__dots .swiper-pagination-bullet-active {
        width: 24px;
        border-radius: 4px;
        background: var(--pdp-green);
    }
}

/* ——— Mobile action area (Figma «Action area» 465:7172 / 465:7188) ——— */
@media (max-width: 991.98px) {
    .pdp-suggest {
        margin-top: 12px;
    }

    .gm-mobile-buy-bar.gm-mobile-buy-bar--pdp {
        position: fixed !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 1100;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        pointer-events: auto;
        transform: none !important;
        font-family: "GMPdpSans", IRANSansX, Tahoma, sans-serif;
        direction: rtl;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__surface {
        width: 100%;
        margin: 0;
        padding: 12px 16px calc(24px + env(safe-area-inset-bottom, 0px));
        border: 0;
        border-radius: 12px 12px 0 0;
        background: #fff;
        box-shadow: 0 -4px 16px rgba(16, 24, 40, .08);
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__inner {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 12px;
        min-height: 58px;
        direction: rtl;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__actions {
        display: flex;
        flex: 1 1 auto;
        align-items: center;
        justify-content: flex-start;
        max-width: none;
        min-width: 0;
        gap: 0;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__cta {
        position: static;
        display: inline-flex;
        flex: 0 1 173px;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 173px;
        max-width: 100% !important;
        height: 40px;
        min-height: 40px;
        padding: 0 16px;
        border: 0;
        border-radius: 8px;
        background: #00b274;
        box-shadow: none;
        color: #fff !important;
        font-size: 16px;
        font-weight: 400;
        line-height: 28.8px;
        white-space: nowrap;
        text-decoration: none;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__cta::before {
        display: none;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__cta:hover,
    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__cta:focus-visible {
        background: #008e5d;
        transform: none;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__cta[hidden],
    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__qty[hidden] {
        display: none !important;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__cta-icon {
        display: inline-flex;
        width: 24px;
        height: 24px;
        background: none;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__cta-label {
        font-weight: 400;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__qty {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        width: 128px;
        min-height: 40px;
        height: 40px;
        padding: 0 10px;
        border: 1px solid #e6e6e6;
        border-radius: 12px;
        background: #fff;
        box-shadow: none;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__qty-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: none;
        width: 34px;
        height: 34px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #f2f2f2;
        box-shadow: none;
        color: #1a1a1a;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__qty-btn--dec {
        color: #666;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__qty-btn:disabled {
        opacity: .45;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__qty-btn .pdp-ico {
        display: block;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__icon-minus {
        display: inline-flex !important;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__icon-trash,
    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__qty-btn.is-trash .gm-mobile-buy-bar__icon-trash {
        display: none !important;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__qty-value {
        flex: 1;
        min-width: 0;
        color: #1a1a1a;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        text-align: center;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__price-col {
        display: flex;
        flex: 0 1 auto;
        flex-direction: column;
        align-items: flex-end;
        justify-content: flex-end;
        min-width: 0;
        text-align: left;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__old {
        display: flex;
        align-items: center;
        gap: 0;
        height: 21px;
        margin: 0;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__old del {
        position: relative;
        display: inline-flex;
        align-items: baseline;
        gap: 3px;
        padding: 0 5px;
        color: #888;
        font-size: 12px;
        font-weight: 400;
        line-height: 18px;
        text-decoration: line-through;
        text-decoration-thickness: 1px;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__old del::after {
        display: none;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__old del small {
        font-size: 10px;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__off {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 20px;
        padding: 0 12px;
        border-radius: 50px;
        background: #ef443c;
        color: #fff;
        font-size: 10px;
        font-weight: 500;
        line-height: 20px;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__now {
        display: flex;
        align-items: baseline;
        gap: 4px;
        color: #00b274;
        line-height: 37px;
        white-space: nowrap;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__price {
        color: #00b274;
        font-size: 20px;
        font-weight: 700;
        line-height: 37px;
    }

    .gm-mobile-buy-bar--pdp .gm-mobile-buy-bar__currency {
        margin: 0;
        color: #00b274;
        font-size: 14px;
        font-weight: 500;
    }
}


/* ==========================================================================
   Interaction layer — zoom/lightbox, share, feedback states, accessibility
   ========================================================================== */
.pdp-gallery__img {
    cursor: zoom-in;
}

body > .tracker {
    cursor: zoom-in !important;
}

.pdp .pdp-gallery__expand {
    position: absolute;
    bottom: 14px;
    left: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: .86px solid #f0f0f0;
    border-radius: 50%;
    background: rgba(245, 245, 245, .85);
    color: var(--pdp-muted);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .2s ease, transform .2s ease, color .15s ease, background-color .15s ease;
}

.pdp-gallery__stage:hover .pdp-gallery__expand,
.pdp .pdp-gallery__expand:focus-visible {
    opacity: 1;
    transform: none;
}

.pdp .pdp-gallery__expand:hover {
    background: #fff;
    color: var(--pdp-ink);
}

.pdp-gallery__thumb--more img {
    filter: blur(1.5px);
    opacity: .55;
}

.pdp-gallery__more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: inherit;
    background: rgba(62, 62, 62, .35);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    direction: ltr;
}

/* toast */
.pdp-toast {
    position: fixed;
    bottom: 32px;
    left: 50%;
    z-index: 1400;
    max-width: calc(100vw - 32px);
    padding: 12px 20px;
    border-radius: 12px;
    background: #1f2937;
    box-shadow: 0 8px 24px rgba(16, 24, 40, .2);
    color: #fff;
    font-family: "GMPdpSans", IRANSansX, Tahoma, sans-serif;
    font-size: 14px;
    line-height: 22px;
    direction: rtl;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 12px);
    transition: opacity .2s ease, transform .2s ease;
}

.pdp-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

/* add-to-cart feedback */
.pdp .pdp-busy,
.gm-mobile-buy-bar--pdp .pdp-busy {
    position: relative;
    color: transparent !important;
    pointer-events: none;
}

.pdp .pdp-busy > *,
.gm-mobile-buy-bar--pdp .pdp-busy > * {
    visibility: hidden;
}

.pdp .pdp-busy::after,
.gm-mobile-buy-bar--pdp .pdp-busy::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pdp-spin .7s linear infinite;
}

.pdp .pdp-added {
    position: relative;
    color: transparent !important;
}

.pdp .pdp-added > * {
    visibility: hidden;
}

.pdp .pdp-added::after {
    content: "✓ به سبد اضافه شد";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    white-space: nowrap;
}

@keyframes pdp-spin {
    to {
        transform: rotate(360deg);
    }
}

/* variant switching */
.single-product.pdp.is-updating #product-price-box,
.single-product.pdp.is-updating #product-price-box-secondary,
.single-product.pdp.is-updating #product-gallery-box,
.single-product.pdp.is-updating #product-seller-card-box,
.single-product.pdp.is-updating #product-seller-box {
    opacity: .5;
    pointer-events: none;
    transition: opacity .15s ease;
}

.single-product.pdp.is-updating .pdp-volume {
    cursor: progress;
}

/* low stock */
.pdp .pdp-offer__stock {
    margin-top: 2px;
    color: var(--pdp-rose);
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
}

/* reviews: actions + empty state */
.pdp-reviews__actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.pdp .pdp-review-cta {
    height: 29px;
    padding: 0 12px;
    border-color: var(--pdp-green);
    border-radius: 30px;
    color: var(--pdp-green);
    font-size: 12px;
    line-height: 18px;
}

.pdp .pdp-review-cta:hover {
    border-color: var(--pdp-green-600);
    background: var(--pdp-note);
    color: var(--pdp-green-600);
}

.pdp-review-cta .pdp-ico {
    width: 14px;
    height: 14px;
}

.pdp-empty {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 24px;
    padding: 24px;
    border: 1px dashed var(--pdp-line-strong);
    border-radius: 12px;
    text-align: center;
}

.pdp-empty strong {
    color: var(--pdp-ink);
    font-size: 15px;
    font-weight: 700;
}

.pdp-empty p {
    color: var(--pdp-muted);
    font-size: 13px;
    line-height: 22px;
}

/* hover + keyboard focus */
.pdp a:focus-visible,
.pdp button:focus-visible,
.pdp summary:focus-visible,
.gm-mobile-buy-bar--pdp a:focus-visible,
.gm-mobile-buy-bar--pdp button:focus-visible {
    outline: 2px solid var(--pdp-green);
    outline-offset: 2px;
}

.pdp-seller-row {
    transition: box-shadow .15s ease;
}

.pdp-seller-row:hover {
    box-shadow: inset 0 0 0 1px #dfe6ee;
}

.pdp-fold__head:hover .pdp-fold__toggle {
    background: var(--pdp-note);
}

@media (max-width: 991.98px) {
    .pdp-reviews__actions {
        justify-content: space-between;
        gap: 8px;
    }

    .pdp .pdp-review-cta {
        height: 38px;
        padding: 0 14px;
        border-radius: 20px;
    }

    .pdp-toast {
        bottom: calc(110px + env(safe-area-inset-bottom, 0px));
    }

}

@media (prefers-reduced-motion: reduce) {
    .pdp *,
    .pdp *::before,
    .pdp *::after,
    .pdp-toast {
        transition: none !important;
        animation-duration: .01ms !important;
    }
}

/* ==========================================================================
   Gallery viewer — full screen on phones, large panel on desktop
   ========================================================================== */
html.gmv-lock,
html.gmv-lock body {
    overflow: hidden !important;
    overscroll-behavior: none;
}

.gmv {
    --gmv-fade: 1;
    --gmv-green: var(--pdp-green, #2cc18d);
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    direction: rtl;
    font-family: inherit;
    color: #1f1f1f;
    -webkit-tap-highlight-color: transparent;
}

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

.gmv__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 12, 13, .72);
    opacity: 0;
    transition: opacity .22s ease;
}

.gmv.is-open .gmv__backdrop {
    opacity: var(--gmv-fade);
}

.gmv__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: min(1120px, 100%);
    height: min(860px, 100%);
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .28);
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(.97);
    transition: opacity .22s ease, transform .22s cubic-bezier(.2, .7, .2, 1);
}

.gmv.is-open .gmv__panel {
    opacity: 1;
    transform: none;
}

.gmv__panel:focus {
    outline: none;
}

.gmv__panel.is-animating {
    transition: transform .24s cubic-bezier(.2, .7, .2, 1);
}

.gmv.is-dragging .gmv__panel {
    transition: none;
}

/* bar */
.gmv__bar {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    padding: 10px 16px 10px 12px;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    transition: opacity .2s ease, transform .2s ease;
}

.gmv__title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    font-size: 15px;
    font-weight: 600;
    line-height: 24px;
    color: #1f1f1f;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gmv__count {
    flex: none;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f4f4f4;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    color: #555;
    direction: ltr;
    unicode-bidi: isolate;
}

.gmv__zoom {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: none;
    padding: 2px;
    border-radius: 999px;
    background: #f4f4f4;
    direction: ltr;
}

.gmv__zoom-level {
    min-width: 44px;
    font-size: 12px;
    font-weight: 600;
    color: #555;
    text-align: center;
}

.gmv .gmv__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #1f1f1f;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, opacity .15s ease;
}

.gmv .gmv__btn:hover {
    background: rgba(0, 0, 0, .06);
}

.gmv .gmv__btn:disabled {
    opacity: .35;
    cursor: default;
    background: transparent;
}

.gmv .gmv__close {
    order: -1;
    background: #f4f4f4;
}

.gmv .gmv__btn:focus-visible,
.gmv .gmv__nav:focus-visible,
.gmv .gmv__thumb:focus-visible {
    outline: 2px solid var(--gmv-green);
    outline-offset: 2px;
}

/* stage */
.gmv__stage {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    background: #fff;
}

.gmv__track {
    position: absolute;
    inset: 0;
    direction: ltr;
    will-change: transform;
}

.gmv__track.is-animating {
    transition: transform .32s cubic-bezier(.2, .7, .2, 1);
}

.gmv__slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 88px;
    overflow: hidden;
}

.gmv__img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    opacity: 0;
    transform-origin: center center;
    transition: opacity .2s ease;
    -webkit-user-drag: none;
    cursor: zoom-in;
    will-change: transform;
}

.gmv__img.is-animating {
    transition: opacity .2s ease, transform .26s cubic-bezier(.2, .7, .2, 1);
}

.gmv__slide.is-ready .gmv__img {
    opacity: 1;
}

.gmv.is-zoomed .gmv__img {
    cursor: grab;
}

.gmv.is-zoomed.is-dragging .gmv__img {
    cursor: grabbing;
}

.gmv__slide.is-broken .gmv__img {
    opacity: .25;
}

.gmv__spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    border: 3px solid #ececec;
    border-top-color: var(--gmv-green);
    border-radius: 50%;
    animation: gmv-spin .8s linear infinite;
}

.gmv__slide.is-ready .gmv__spinner {
    display: none;
}

@keyframes gmv-spin { to { transform: rotate(360deg); } }

.gmv .gmv__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: -24px 0 0;
    padding: 0;
    border: 1px solid #ececec;
    border-radius: 50%;
    background: #fff;
    color: #1f1f1f;
    box-shadow: 0 6px 18px rgba(12, 12, 13, .1);
    cursor: pointer;
    transition: opacity .2s ease, background-color .15s ease, transform .15s ease;
}

.gmv .gmv__nav:hover:not(:disabled) {
    background: #f7f7f7;
    transform: scale(1.05);
}

.gmv .gmv__nav:disabled {
    opacity: 0;
    pointer-events: none;
}

.gmv__nav--prev { right: 20px; }
.gmv__nav--next { left: 20px; }

.gmv.is-single .gmv__nav,
.gmv.is-single .gmv__thumbs,
.gmv.is-single .gmv__count {
    display: none !important;
}

.gmv.is-zoomed .gmv__nav {
    opacity: 0;
    pointer-events: none;
}

.gmv__hint {
    position: absolute;
    bottom: 16px;
    left: 50%;
    z-index: 2;
    margin: 0;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(31, 31, 31, .82);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    white-space: nowrap;
    opacity: 0;
    transform: translate(-50%, 8px);
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: none;
}

.gmv.show-hint .gmv__hint {
    opacity: 1;
    transform: translate(-50%, 0);
}

/* thumbnails */
.gmv__thumbs {
    position: relative;
    z-index: 3;
    display: flex;
    gap: 8px;
    padding: 12px 16px 16px;
    overflow-x: auto;
    border-top: 1px solid #f0f0f0;
    background: #fff;
    scrollbar-width: none;
    transition: opacity .2s ease, transform .2s ease;
}

.gmv__thumbs::-webkit-scrollbar {
    display: none;
}

.gmv__thumbs::before,
.gmv__thumbs::after {
    content: "";
    flex: 1 0 0;
}

.gmv .gmv__thumb {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    margin: 0;
    padding: 4px;
    border: 1.5px solid #ececec;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    opacity: .7;
    transition: opacity .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.gmv .gmv__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
}

.gmv .gmv__thumb:hover {
    opacity: 1;
}

.gmv .gmv__thumb.is-active {
    opacity: 1;
    border-color: var(--gmv-green);
    box-shadow: 0 0 0 2px rgba(44, 193, 141, .18);
}

/* tablet & phone: edge-to-edge */
@media (max-width: 991.98px) {
    .gmv {
        padding: 0;
    }

    .gmv__backdrop {
        background: #fff;
    }

    .gmv__panel {
        width: 100%;
        height: 100%;
        height: 100dvh;
        border-radius: 0;
        box-shadow: none;
        transform: translate3d(0, 24px, 0);
        background: transparent;
    }

    .gmv.is-open .gmv__panel {
        transform: none;
    }

    .gmv__bar {
        min-height: 56px;
        padding: calc(8px + env(safe-area-inset-top, 0px)) 12px 8px;
        border-bottom: 0;
        background: transparent;
    }

    .gmv__title {
        font-size: 14px;
        font-weight: 600;
        color: #3d3d3d;
    }

    .gmv__zoom,
    .gmv .gmv__nav {
        display: none !important;
    }

    .gmv__stage {
        background: transparent;
    }

    .gmv__slide {
        padding: 8px 16px;
    }

    .gmv__img {
        cursor: default;
    }

    .gmv__thumbs {
        gap: 8px;
        padding: 10px 16px calc(14px + env(safe-area-inset-bottom, 0px));
        border-top: 0;
        background: transparent;
    }

    .gmv .gmv__thumb {
        flex-basis: 56px;
        width: 56px;
        height: 56px;
        border-radius: 10px;
    }

    .gmv.is-chrome-hidden .gmv__bar {
        opacity: 0;
        transform: translateY(-100%);
        pointer-events: none;
    }

    .gmv.is-chrome-hidden .gmv__thumbs {
        opacity: 0;
        transform: translateY(100%);
        pointer-events: none;
    }

    .gmv.is-zoomed .gmv__thumbs {
        opacity: 0;
        pointer-events: none;
    }
}

@media (hover: none) {
    .gmv .gmv__btn:hover {
        background: transparent;
    }

    .gmv .gmv__close:hover {
        background: #f4f4f4;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gmv__panel,
    .gmv__track.is-animating,
    .gmv__img.is-animating,
    .gmv__backdrop {
        transition: none !important;
    }
}

