﻿:root {
    --pdp-primary: #17346e;
    --pdp-primary-hover: #102650;
    --pdp-cyan: #18b5cf;
    --pdp-red: #ef4056;
    --pdp-green: #008f7c;
    --pdp-action: var(--pdp-primary);
    --pdp-action-hover: var(--pdp-primary-hover);
    --pdp-danger: var(--pdp-red);
    --pdp-on-action: #ffffff;
    --pdp-text: #272b34;
    --pdp-muted: #7b8290;
    --pdp-line: #e4e7ec;
    --pdp-bg: #f7f7f8;
    --pdp-card: #f7f7f8;
}

.pdp {
    background: #fff;
    color: var(--pdp-text);
    font-family: var( --font-primary, "DanukalaVazir", Vazir, Tahoma, Arial, sans-serif );
}

    .pdp * {
        box-sizing: border-box
    }

    .pdp a {
        text-decoration: none
    }
/* =========================================================
   Product Detail Layout
========================================================= */

.pdp-container {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
    padding: 18px 28px 60px;
}

/* =========================================================
   Topbar
========================================================= */

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

.pdp-breadcrumb {
    min-width: 0;
    color: var(--pdp-muted);
    font-size: var(--fs-caption);
    font-weight: 400;
    line-height: var(--lh-normal);
}

    .pdp-breadcrumb ol {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .pdp-breadcrumb li {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
    }

    .pdp-breadcrumb a {
        color: #81858b;
        white-space: nowrap;
        transition: color 0.18s ease;
    }

        .pdp-breadcrumb a:hover {
            color: var(--pdp-primary);
        }

    .pdp-breadcrumb li:last-child a {
        color: #62666d;
        font-weight: var(--fw-medium);
    }

.pdp-breadcrumb-separator {
    width: 12px;
    height: 12px;
    margin-inline: 7px;
    flex: 0 0 auto;
    fill: none;
    stroke: #b1b5bc;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pdp-sell-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    color: #81858b;
    font-size: var(--fs-caption);
    font-weight: 400;
    transition: color 0.18s ease;
}

    .pdp-sell-link svg {
        width: 19px;
        height: 19px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .pdp-sell-link:hover {
        color: var(--pdp-primary);
    }

/* =========================================================
   Hero Grid
========================================================= */
.pdp-hero {
    display: grid;
    grid-template-columns: minmax(460px, 34%) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.pdp-product-panel {
    min-width: 0;
}

.pdp-product-header {
    width: 100%;
    min-width: 0;
    margin-bottom: 14px;
}


.pdp-product-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: start;
}

.pdp-info {
    min-width: 0;
    padding-top: 0;
    text-align: right;
}



/* =========================================================
   Gallery
========================================================= */

.pdp-gallery {
    position: relative;
    min-width: 0;
}

.pdp-gallery-tools {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdp-main-media {
    width: 100%;
    height: 570px;
    padding: 0 42px 24px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

    .pdp-main-media img {
        display: block;
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 100%;
        object-fit: contain;
    }

.pdp-media-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    color: #a1a3a8;
    background: #fafafa;
    border-radius: 12px;
}

    .pdp-media-placeholder i {
        font-size: 50px;
    }

.pdp-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 2px;
    padding: 4px;
    overflow: hidden;
}

.pdp-thumb {
    position: relative;
    width: 72px;
    height: 72px;
    padding: 5px;
    flex: 0 0 auto;
    border: 1px solid var(--pdp-line);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

    .pdp-thumb.is-active {
        border: 2px solid #424750;
    }

    .pdp-thumb img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        border-radius: 5px;
    }

.pdp-thumb-more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.72);
    font-size: 28px;
}

.pdp-gallery-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    color: #a1a3a8;
    font-size: 11px;
}

    .pdp-gallery-meta a {
        color: #81858b;
    }

/* =========================================================
   Product Information
========================================================= */



.pdp-brand-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 10px;
    font-size: var(--fs-small);
    line-height: var(--lh-normal);
}

    .pdp-brand-line a {
        color: #0878d1;
        font-weight: var(--fw-medium);
        transition: color 0.18s ease;
    }

        .pdp-brand-line a:hover {
            color: var(--pdp-primary);
        }

.pdp-product-header > .pdp-product-title {
    width: 100%;
    margin: 0;
    color: #0c0c0c;
    font-size: var(--fs-section);
    font-weight: var(--fw-bold);
    line-height: var(--lh-readable);
    text-align: right;
    overflow-wrap: break-word;
}

.pdp-en-title {
    direction: ltr;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    color: #b1b5bc;
    font-family: Arial, sans-serif;
    font-size: var(--fs-caption);
    line-height: var(--lh-compact);
    text-align: left;
}

    .pdp-en-title::before {
        content: none;
    }

    .pdp-en-title::after {
        content: "";
        height: 1px;
        flex: 1;
        background: var(--pdp-line);
    }

.pdp-rating-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 7px 12px;
    margin-bottom: 28px;
    color: var(--pdp-muted);
    font-size: var(--fs-caption);
    line-height: var(--lh-normal);
}

    .pdp-rating-row a {
        color: #0878d1;
        transition: color 0.18s ease;
    }

        .pdp-rating-row a:hover {
            color: var(--pdp-primary);
        }

.pdp-rate {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #30343b;
}

    .pdp-rate b {
        font-weight: var(--fw-bold);
    }

    .pdp-rate i {
        color: #f9a825;
        font-size: 12px;
    }

.pdp-muted {
    color: #9ba1ab;
}

.pdp-variant-axis {
    margin: 24px 0
}

.pdp-section-label {
    font-size: 16px;
    color: #121212;
    margin-bottom: 14px
}

    .pdp-section-label strong {
        font-weight: 700
    }

.pdp-colors, .pdp-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.pdp-color {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #c9cacc;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: #fff
}

    .pdp-color > span {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--swatch);
        border: 1px solid rgba(0,0,0,.1)
    }

    .pdp-color.is-active {
        border: 4px solid #19bfd3
    }

    .pdp-color i {
        position: absolute;
        color: #fff;
        font-size: 14px;
        text-shadow: 0 1px 2px #000
    }

.pdp-option {
    padding: 10px 15px;
    border: 1px solid #d9dadd;
    border-radius: 8px;
    color: #3f4064;
    background: #fff
}

    .pdp-option.is-active {
        border: 2px solid #19bfd3
    }

    .pdp-color.is-disabled, .pdp-option.is-disabled {
        opacity: .35;
        pointer-events: none
    }

.pdp-fast-delivery {
    margin: 30px 0 22px;
    border-radius: 10px;
    background: #eff0ff;
    border-right: 8px solid #304ffe;
    min-height: 72px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px
}

    .pdp-fast-delivery i {
        color: #304ffe;
        font-size: 20px
    }

.pdp-highlights h2 {
    font-size: 17px;
    margin: 0 0 15px
}

.pdp-highlight-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px
}

.pdp-highlight-card {
    background: #f2f2f2;
    border-radius: 8px;
    padding: 13px 16px;
    min-height: 75px
}

    .pdp-highlight-card span {
        display: block;
        color: #a1a3a8;
        font-size: 12px;
        margin-bottom: 7px
    }

    .pdp-highlight-card strong {
        font-size: 13px
    }

.pdp-more-link {
    margin-top: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #25254c;
    border: 1px solid #ddd;
    border-radius: 9px;
    padding: 12px 18px;
    font-size: 13px
}

.pdp-buybox {
    position: sticky;
    top: 110px;
    margin-top: 0;
    overflow: hidden;
    border: 1px solid var(--pdp-line);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: none;
}

.pdp-buybox-head {
    display: flex;
    justify-content: space-between;
    padding: 18px 20px 12px
}

    .pdp-buybox-head a {
        color: #0f80d8;
        font-size: var(--fs-caption);
    }

.pdp-buybox-shipping small {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.pdp-seller {
    display: flex;
    gap: 12px;
    padding: 13px 20px 20px
}

.pdp-seller-icon {
    font-size: 25px
}

.pdp-seller-name {
    font-weight: 700;
    margin-bottom: 10px
}

.pdp-seller-stats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    color: #8c8f95;
    font-size: var(--fs-caption);
}

    .pdp-seller-stats b, .pdp-verified {
        color: var(--pdp-green)
    }

.pdp-verified {
    background: #e8f5ed;
    border-radius: 12px;
    padding: 2px 8px
}

.pdp-buybox-row {
    border-top: 1px solid var(--pdp-line);
    display: flex;
    gap: 12px;
    padding: 16px 20px;
    align-items: flex-start
}

    .pdp-buybox-row > i {
        font-size: 20px;
        color: #58606b;
        margin-top: 2px
    }

    .pdp-buybox-row strong {
        display: block;
        font-size: var(--fs-small);
    }

    .pdp-buybox-row small {
        display: block;
        margin-top: 8px;
        color: #777;
        font-size: var(--fs-caption);
        line-height: 1.7
    }

.pdp-price-zone {
    border-top: 1px solid var(--pdp-line);
    padding: 18px 20px 10px
}

.pdp-old-price {
    display: flex;
    gap: 8px;
    justify-content: flex-start;
    align-items: center;
    color: #a1a3a8;
    font-size: var(--fs-caption);
}

    .pdp-old-price span {
        text-decoration: line-through
    }

    .pdp-old-price b {
        background: var(--pdp-red);
        color: #fff;
        border-radius: 11px;
        padding: 2px 7px
    }

.pdp-price {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 8px;
    margin-top: 6px
}

    .pdp-price strong {
        font-size: var(--fs-section-lg);
    }

    .pdp-price span {
        font-size: var(--fs-caption);
    }

.pdp-add-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 40px);
    min-height: 50px;
    margin: 0 20px 16px;
    padding-inline: 20px;
    border: 0;
    border-radius: 9px;
    background-color: var(--pdp-action);
    color: var(--pdp-on-action);
    font-family: inherit;
    font-size: var(--fs-small);
    font-weight: var(--fw-bold);
    line-height: var(--lh-normal);
    text-align: center;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

    .pdp-add-cart:hover {
        background-color: var(--pdp-action-hover);
        color: var(--pdp-on-action);
    }

    .pdp-add-cart:active {
        transform: scale(0.99);
    }

    .pdp-add-cart:focus-visible {
        outline: 3px solid color-mix( in srgb, var(--pdp-action) 25%, transparent );
        outline-offset: 2px;
    }

    .pdp-add-cart:disabled {
        background-color: var(--pdp-line);
        color: var(--pdp-muted);
        cursor: not-allowed;
        transform: none;
    }

.pdp-stock-warning {
    margin: 0 20px 10px;
    color: var(--pdp-action);
    font-size: var(--fs-caption);
    line-height: var(--lh-normal);
    text-align: right;
}

.pdp-unavailable {
    padding: 40px 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-direction: column
}

    .pdp-unavailable i {
        font-size: 35px;
        color: #aaa
    }

.pdp-benefits {
    border-top: 1px solid #eee;
    border-bottom: 4px solid #f0f0f1;
    margin: 32px 0 20px;
    padding: 22px 16px;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 10px
}

    .pdp-benefits > div {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        color: #8b8e93;
        font-size: 12px
    }

    .pdp-benefits i {
        font-size: 27px;
        color: #a1a3a8
    }

.pdp-section {
    padding: 34px 0;
    border-bottom: 1px solid #e7e7e9;
    scroll-margin-top: 125px
}

.pdp-heading {
    margin-bottom: 26px
}

    .pdp-heading h2 {
        font-size: 20px;
        margin: 0 0 12px;
        color: #101010
    }

    .pdp-heading span {
        display: block;
        width: 76px;
        height: 2px;
        background: var(--pdp-red)
    }

.pdp-seller-list {
    border-top: 1px solid #eee
}

.pdp-seller-row {
    display: grid;
    grid-template-columns: 1.4fr 1.4fr 1.1fr 170px 110px;
    gap: 18px;
    align-items: center;
    padding: 22px 20px;
    border-bottom: 1px solid #eee
}

    .pdp-seller-row.is-selected {
        background: #fafafa
    }

.pdp-seller-row-name {
    display: flex;
    gap: 14px;
    align-items: center
}

    .pdp-seller-row-name > i {
        font-size: 25px
    }

    .pdp-seller-row-name small {
        display: block;
        color: var(--pdp-green);
        margin-top: 7px
    }

.pdp-seller-row-ship, .pdp-seller-row-warranty {
    font-size: 13px;
    color: #5b5d65
}

.pdp-seller-row-price {
    display: flex;
    gap: 5px;
    align-items: flex-end
}

    .pdp-seller-row-price strong {
        font-size: 20px
    }

    .pdp-seller-row-price span {
        font-size: 10px
    }

.pdp-seller-cart {
    background: var(--pdp-red);
    color: #fff;
    border-radius: 8px;
    padding: 11px;
    text-align: center;
    font-size: 13px
}

.pdp-tabs {
    position: sticky;
    top: 72px;
    z-index: 20;
    background: #fff;
    border-bottom: 1px solid var(--pdp-line);
    display: flex;
    gap: 30px;
    padding: 0 8px;
    margin-top: 8px
}

    .pdp-tabs a {
        color: #777a80;
        padding: 18px 4px 14px;
        font-size: 13px;
        border-bottom: 3px solid transparent
    }

        .pdp-tabs a.is-active {
            color: var(--pdp-red);
            border-color: var(--pdp-red);
            font-weight: 700
        }

.pdp-content-layout {
    display: grid;
    grid-template-columns: 390px minmax(0,1fr);
    gap: 50px;
    direction: ltr
}

.pdp-sticky-summary {
    direction: rtl;
    position: sticky;
    top: 140px;
    align-self: start;
    border: 1px solid var(--pdp-line);
    border-radius: 10px;
    margin-top: 28px;
    overflow: hidden
}

.pdp-sticky-product {
    display: flex;
    gap: 12px;
    padding: 14px;
    border-bottom: 1px solid #eee
}

    .pdp-sticky-product img {
        width: 85px;
        height: 85px;
        object-fit: contain
    }

    .pdp-sticky-product strong {
        font-size: 12px;
        line-height: 2;
        display: block
    }

    .pdp-sticky-product span {
        display: flex;
        align-items: center;
        gap: 7px;
        margin-top: 6px
    }

        .pdp-sticky-product span i {
            width: 18px;
            height: 18px;
            border-radius: 50%
        }

.pdp-sticky-line {
    padding: 13px 16px;
    border-bottom: 1px solid #eee;
    display: flex;
    gap: 10px;
    font-size: 12px
}

.pdp-sticky-price {
    padding: 16px;
    display: flex;
    gap: 6px;
    align-items: flex-end
}

    .pdp-sticky-price strong {
        font-size: 22px
    }

    .pdp-sticky-price span {
        font-size: 10px
    }

.pdp-sticky-summary .pdp-add-cart {
    width: calc(100% - 28px);
    margin: 0 14px 14px
}

.pdp-long-content {
    direction: rtl;
    min-width: 0
}

.pdp-richtext {
    font-size: 14px;
    line-height: 2.4;
    color: #3f4064
}

    .pdp-richtext img {
        max-width: 100%;
        height: auto;
        display: block;
        margin: 24px auto
    }

    .pdp-richtext h3 {
        font-size: 18px
    }
/* =========================================================
   Product Introduction
========================================================= */

.pdp-introduction {
    position: relative;
}

.pdp-introduction-content {
    position: relative;
    overflow: hidden;
    transition: max-height .28s ease;
}

    .pdp-introduction-content.is-collapsed {
        max-height: 145px;
    }

        .pdp-introduction-content.is-collapsed::after {
            content: '';
            position: absolute;
            right: 0;
            bottom: 0;
            left: 0;
            height: 52px;
            pointer-events: none;
            background: linear-gradient( to bottom, rgba(255, 255, 255, 0), #fff 90% );
        }

    .pdp-introduction-content:not(.is-collapsed) {
        max-height: none;
    }

.pdp-introduction-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 8px;
    padding: 6px 0;
    border: 0;
    background: transparent;
    color: var(--pdp-primary);
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    cursor: pointer;
    transition: color .18s ease;
}

    .pdp-introduction-toggle:hover {
        color: var(--pdp-cyan);
    }

    .pdp-introduction-toggle i {
        transition: transform .2s ease;
    }

    .pdp-introduction-toggle[aria-expanded="true"] i {
        transform: rotate(-90deg);
    }
/* =========================================================
   Collapsible Product Content
========================================================= */

.pdp-collapsible-content {
    position: relative;
    overflow: hidden;
}

    .pdp-collapsible-content.is-collapsed {
        max-height: var( --pdp-collapsed-content-height, 145px );
    }

        .pdp-collapsible-content.is-collapsed::after {
            content: '';
            position: absolute;
            right: 0;
            bottom: 0;
            left: 0;
            height: 3rem;
            pointer-events: none;
            background: linear-gradient( to bottom, transparent, #fff );
        }

    .pdp-collapsible-content:not(.is-collapsed) {
        max-height: none;
    }


/* More button */

.pdp-content-more {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: .5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--pdp-primary);
    font: inherit;
    cursor: pointer;
}

    .pdp-content-more:hover {
        color: var(--pdp-cyan);
    }

    .pdp-content-more i {
        transition: transform .2s ease;
    }

    .pdp-content-more[aria-expanded="true"] i {
        transform: rotate(-90deg);
    }
/* =========================================================
   Product Specifications
========================================================= */

.pdp-specifications {
    position: relative;
}


/* Heading description */

.pdp-heading-description {
    margin: 6px 0 0;
    color: var(--pdp-muted);
    font-size: 12px;
    font-weight: 500;
}


/* =========================================================
   Highlight Specifications
========================================================= */

.pdp-spec-highlights {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.pdp-spec-highlight {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid #edf0f4;
    border-radius: 14px;
    background: linear-gradient( 135deg, #fafbfd, #fff );
}

.pdp-spec-highlight-icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 11px;
    background: rgba(23, 52, 110, .07);
    color: var(--pdp-primary);
}

.pdp-spec-svg {
    display: block;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask-image: var(--pdp-spec-icon);
    mask-image: var(--pdp-spec-icon);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.pdp-spec-highlight-content {
    min-width: 0;
}

    .pdp-spec-highlight-content span {
        display: block;
        margin-bottom: 4px;
        color: #8a94a4;
        font-size: 11px;
        font-weight: 500;
    }

    .pdp-spec-highlight-content strong {
        display: block;
        overflow: hidden;
        color: var(--pdp-text);
        font-size: 14px;
        font-weight: 800;
        line-height: 1.7;
        text-overflow: ellipsis;
    }

/* =========================================================
   Specifications Preview
========================================================= */

.pdp-spec-preview {
    width: 100%;
    margin: 0;
}

/*
    ساختار اصلی:

    سمت چپ: جدول مشخصات
    سمت راست: مشخصات کلی

    direction:ltr فقط برای این است که شماره ستون‌های Grid
    مستقل از RTL صفحه قابل کنترل باشند.
*/
.pdp-spec-preview-layout {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr);
    column-gap: 0;
    align-items: start;
    direction: ltr;
}


/* =========================
   مشخصات کلی - سمت راست
========================= */

.pdp-spec-preview-group-title {
    grid-column: 2;
    grid-row: 1;
    direction: rtl;
    text-align: right;
    /*
        مهم:
        عنوان از ریجن/مقدار بالاتر قرار می‌گیرد.
    */
    padding: 0 24px 0 0;
    margin: 0;
    color: var(--pdp-primary);
    font-size: 16px;
    font-weight: 800;
    line-height: 32px;
}


/* =========================
   جدول سمت چپ
========================= */

.pdp-spec-preview-list {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    /*
        ردیف اول باید پایین‌تر از
        "مشخصات کلی" شروع شود.
    */
    padding-top: 26px;
}


/* =========================
   هر ردیف
========================= */

.pdp-spec-preview-row {
    width: 100%;
    min-height: 96px;
    display: grid;
    /*
        ستون چپ  = مقدار
        ستون راست = عنوان ویژگی

        مثال:
        چین | ریجن
    */
    grid-template-columns: minmax(0, 3fr) minmax(180px, 1fr);
    align-items: stretch;
    direction: ltr;
    /*
        خیلی مهم:
        border را از خود row برداشته‌ایم.
    */
    border-bottom: 0;
}


/* =========================
   ریجن / نوع گوشی / مدل ...
========================= */

.pdp-spec-preview-label {
    grid-column: 2;
    direction: rtl;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 20px;
    text-align: right;
    color: #81858b;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
}


/* =========================
   چین / iOS / iPhone ...
========================= */

.pdp-spec-preview-value {
    grid-column: 1;
    direction: rtl;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 16px;
    margin-left: 16px;
    text-align: right;
    color: #0c0c0c;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    /*
        Border فقط زیر ستون مقدار است.
        بنابراین قبل از ستون label تمام می‌شود.
    */
    border-bottom: 1px solid #edf0f3;
}

    .pdp-spec-preview-value > span {
        margin-right: 5px;
    }

/* =========================================================
   Full Specifications
========================================================= */

.pdp-spec-full {
    width: 100%;
    max-width: 1050px;
    margin-top: 8px;
    margin-left: auto;
}

    .pdp-spec-full[hidden] {
        display: none;
    }

.pdp-spec-group {
    margin: 0 0 34px;
}

    .pdp-spec-group:last-child {
        margin-bottom: 0;
    }

    .pdp-spec-group > h3 {
        position: relative;
        margin: 0 0 12px;
        padding-right: 14px;
        color: var(--pdp-primary);
        font-size: 16px;
        font-weight: 800;
    }

        .pdp-spec-group > h3::before {
            content: '';
            position: absolute;
            top: 50%;
            right: 0;
            width: 4px;
            height: 18px;
            border-radius: 10px;
            background: var(--pdp-cyan);
            transform: translateY(-50%);
        }

.pdp-spec-table {
    border-top: 1px solid #edf0f3;
}

.pdp-spec-row {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
    align-items: center;
    min-height: 58px;
    border-bottom: 1px solid #edf0f3;
}

.pdp-spec-name {
    padding: 14px 12px;
    color: #89919e;
    font-size: 13px;
    font-weight: 500;
}

.pdp-spec-value {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px;
    padding: 14px 12px;
    color: var(--pdp-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.8;
}

    .pdp-spec-value small {
        color: var(--pdp-muted);
        font-size: 11px;
        font-weight: 500;
    }


/* =========================================================
   Show More
========================================================= */

.pdp-spec-toggle-wrap {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    margin-top: 18px;
}

.pdp-spec-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 4px;
    border: 0;
    background: transparent;
    color: var(--pdp-primary);
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

    .pdp-spec-toggle:hover {
        color: var(--pdp-cyan);
    }

    .pdp-spec-toggle i {
        font-size: 11px;
        transition: transform .2s ease;
    }

    .pdp-spec-toggle[aria-expanded="true"] i {
        transform: rotate(180deg);
    }








.pdp-review-overview {
    display: grid;
    grid-template-columns: 310px 1fr;
    gap: 28px
}

.pdp-review-score {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px
}

    .pdp-review-score > strong {
        font-size: 34px;
        color: #0b0b0c
    }

    .pdp-review-score > span, .pdp-review-score small {
        color: #96999e
    }

.pdp-stars {
    color: #f9a825;
    letter-spacing: 2px
}

.pdp-outline-btn {
    background: #fff;
    border: 1px solid var(--pdp-red);
    color: var(--pdp-red);
    height: 48px;
    padding: 0 30px;
    border-radius: 9px;
    font-family: inherit;
    cursor: pointer
}

.pdp-review-score .pdp-outline-btn {
    width: 100%;
    margin-top: 8px
}

.pdp-review-summary {
    background: #f5f5ff;
    border-radius: 14px;
    padding: 24px;
    align-self: start
}

    .pdp-review-summary h3 {
        margin-top: 0
    }

    .pdp-review-summary p {
        line-height: 2;
        font-size: 13px
    }

.pdp-recommend {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--pdp-green);
    font-size: 12px
}

.pdp-review-list {
    margin-top: 24px
}

.pdp-review {
    padding: 28px 0;
    border-bottom: 1px solid #e8e8ea
}

.pdp-review-meta {
    display: flex;
    justify-content: space-between;
    color: #9a9da2;
    font-size: 12px
}

    .pdp-review-meta > div {
        display: flex;
        align-items: center;
        gap: 12px
    }

.pdp-review-user {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 16px 0
}

    .pdp-review-user span {
        background: #eaf6ec;
        color: #168543;
        border-radius: 11px;
        padding: 3px 8px;
        font-size: 10px
    }

.pdp-review h4 {
    font-size: 16px
}

.pdp-review p {
    font-size: 14px;
    line-height: 2.2
}

.pdp-pros, .pdp-cons {
    list-style: none;
    padding: 0;
    margin: 8px 0
}

    .pdp-pros li, .pdp-cons li {
        display: flex;
        gap: 8px;
        align-items: center;
        margin: 7px 0;
        font-size: 13px
    }

    .pdp-pros i {
        color: #2eaa58
    }

    .pdp-cons i {
        color: #d74343
    }

.pdp-review-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    align-items: center;
    color: #8b8f95;
    font-size: 11px
}

    .pdp-review-actions button {
        border: 0;
        background: transparent;
        color: #666;
        cursor: pointer
    }

.pdp-question-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    gap: 16px
}

.pdp-question-list {
    display: grid;
    gap: 14px
}

.pdp-question {
    padding: 20px 22px;
    border: 1px solid #e6e9ef;
    border-radius: 16px;
    background: #fff
}

.pdp-question-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px
}

.pdp-question-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    color: #087f9c;
    background: #eaf8fb;
    font-size: 12px;
    font-weight: 800
}

.pdp-question-author {
    color: #747b8a;
    font-size: 13px
}

.pdp-question-body {
    color: #222936;
    font-weight: 700;
    line-height: 2.1
}

    .pdp-question-body p {
        margin: 0;
        overflow-wrap: anywhere
    }

.pdp-answer-list {
    display: grid;
    gap: 10px;
    margin-top: 16px
}

.pdp-answer {
    margin: 0 30px 0 0;
    background: #f8fafc;
    border-right: 3px solid #16a3bf;
    border-radius: 12px;
    padding: 14px 16px
}

.pdp-answer-meta {
    display: flex;
    gap: 8px;
    align-items: center
}

    .pdp-answer-meta i {
        color: #16a3bf
    }

.pdp-answer span {
    background: #fff0dd;
    color: #d77700;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 10px
}

.pdp-answer p {
    line-height: 2
}

.pdp-answer small {
    color: #a0a2a7
}

.pdp-question-empty-answer {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #8a909c;
    background: #f7f8fa;
    font-size: 13px
}

    .pdp-question-empty-answer i {
        color: #a3a9b4
    }

.pdp-mobile-bar {
    display: none
}

@media(max-width:1450px) {
    .pdp-hero {
        grid-template-columns: minmax(350px, 32%) minmax(0, 1fr);
        gap: 20px;
    }

    .pdp-product-body {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 20px;
    }

    .pdp-main-media {
        height: 510px;
        padding-inline: 34px;
    }

    .pdp-content-layout {
        grid-template-columns: 330px 1fr;
    }

    .pdp-seller-row {
        grid-template-columns: 1.2fr 1.2fr 1fr 150px 100px;
    }
}

@media(max-width:1180px) {
    .pdp-container {
        padding: 15px 16px 90px;
    }

    .pdp-hero {
        grid-template-columns: minmax(320px, 40%) minmax(0, 1fr);
    }

    .pdp-product-body {
        grid-template-columns: 1fr;
    }

    .pdp-main-media {
        height: 460px;
        padding-inline: 28px;
    }

    .pdp-buybox {
        position: static;
        margin-top: 20px;
    }

    .pdp-content-layout {
        grid-template-columns: 1fr
    }

    .pdp-sticky-summary {
        display: none
    }

    .pdp-seller-row {
        grid-template-columns: 1fr 1fr
    }

    .pdp-seller-row-price, .pdp-seller-cart {
        justify-self: start
    }

    .pdp-benefits {
        grid-template-columns: repeat(3,1fr)
    }
}

@media(max-width:760px) {
    .pdp-container {
        padding: 10px 12px 100px;
    }

    .pdp-topbar {
        min-height: 34px;
        margin-bottom: 14px;
    }

    .pdp-sell-link {
        display: none;
    }

    .pdp-breadcrumb {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        font-size: var(--fs-caption);
        scrollbar-width: none;
    }

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

        .pdp-breadcrumb ol {
            width: max-content;
        }

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

    .pdp-product-body {
        display: block;
    }

    .pdp-gallery,
    .pdp-product-panel {
        width: 100%;
    }

    .pdp-gallery-tools {
        top: 4px;
        right: 4px;
        flex-direction: row;
        gap: 4px;
    }

    .pdp-main-media {
        height: 380px;
        padding: 12px 20px 20px;
    }

    .pdp-info {
        padding-top: 0;
    }

    .pdp-product-header > .pdp-product-title {
        font-size: var(--fs-subtitle);
        line-height: var(--lh-readable);
    }

    .pdp-en-title {
        display: none;
    }

    .pdp-rating-row {
        margin-bottom: 18px;
    }

    .pdp-buybox {
        display: none;
    }

    .pdp-benefits {
        grid-template-columns: repeat(2,1fr);
        padding: 18px 4px
    }

        .pdp-benefits > div {
            justify-content: flex-start
        }

    .pdp-seller-row {
        display: flex;
        flex-direction: column;
        align-items: stretch
    }

    .pdp-tabs {
        top: 0;
        overflow-x: auto;
        white-space: nowrap;
        gap: 20px;
        margin-inline: -12px;
        padding-inline: 16px
    }

    .pdp-section {
        padding: 28px 0
    }

    .pdp-heading h2 {
        font-size: 18px
    }

    .pdp-content-layout {
        display: block
    }

    .pdp-spec-row {
        grid-template-columns: 120px 1fr;
        font-size: 12px
    }

    .pdp-review-overview {
        grid-template-columns: 1fr
    }

    .pdp-review-score {
        display: grid;
        grid-template-columns: auto auto;
        align-items: center
    }



    .pdp-review-summary {
        padding: 18px
    }

    .pdp-mobile-bar {
        position: fixed;
        display: flex;
        z-index: 1000;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        border-top: 1px solid #ddd;
        padding: 9px 12px;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        box-shadow: 0 -4px 16px rgba(0,0,0,.06)
    }

        .pdp-mobile-bar .pdp-add-cart {
            width: 55%;
            margin: 0
        }

        .pdp-mobile-bar > div {
            display: flex;
            align-items: flex-end;
            gap: 5px
        }

        .pdp-mobile-bar strong {
            font-size: 18px
        }

        .pdp-mobile-bar span {
            font-size: 10px
        }

    .pdp-fast-delivery {
        min-height: 60px;
        font-size: 13px
    }

    .pdp-color {
        width: 43px;
        height: 43px
    }

        .pdp-color > span {
            width: 29px;
            height: 29px
        }
}
/* ========================================
   Product Favorite
======================================== */
/* ========================================
   Product Side Actions
======================================== */

.product-action-button {
    position: relative;
    width: 48px;
    height: 48px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 15px;
    background: transparent;
    color: #4f5560;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

    .product-action-button:hover {
        color: #252a32;
        background: #ffffff;
        border-color: #e3e6eb;
        box-shadow: 0 8px 24px rgba(30, 38, 50, .08);
        transform: translateY(-1px);
    }

    .product-action-button:focus {
        outline: none;
    }

    .product-action-button:focus-visible {
        border-color: #d7dce3;
        box-shadow: 0 0 0 4px rgba(74, 85, 104, .08);
    }


/* ========================================
   Favorite Icon
======================================== */

.product-favorite-icon {
    width: 27px;
    height: 27px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: fill .2s ease, stroke .2s ease, color .2s ease, transform .2s ease;
}

.product-favorite-button:hover
.product-favorite-icon {
    transform: scale(1.06);
}


/* Active favorite */

.product-favorite-button.is-active {
    color: #ef4056;
}

    .product-favorite-button.is-active
    .product-favorite-icon {
        fill: #ef4056;
        stroke: #ef4056;
    }

    .product-favorite-button.is-active:hover {
        color: #dc3048;
        background: rgba(239, 64, 86, .055);
        border-color: rgba(239, 64, 86, .13);
    }


/* ========================================
   Tooltip
======================================== */

.product-action-tooltip {
    position: absolute;
    top: 50%;
    right: calc(100% + 13px);
    transform: translateY(-50%) translateX(5px);
    z-index: 100;
    width: max-content;
    max-width: 190px;
    padding: 9px 13px;
    border: 0;
    border-radius: 10px;
    background: #17346e;
    color: #ffffff;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
    box-shadow: 0 8px 25px rgba(20, 26, 35, .15);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}


    /* Tooltip arrow */

    .product-action-tooltip::before {
        content: "";
        position: absolute;
        top: 50%;
        right: -6px;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        border-left: 6px solid #242a33;
    }


/* Show tooltip */

.product-action-button:hover
.product-action-tooltip,
.product-action-button:focus-visible
.product-action-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}


/* ========================================
   Favorite loading
======================================== */

.product-favorite-button.is-loading {
    pointer-events: none;
    opacity: .55;
}

    .product-favorite-button.is-loading
    .product-favorite-icon {
        animation: favoritePulse .65s ease-in-out infinite alternate;
    }

@keyframes favoritePulse {
    from {
        transform: scale(.9);
    }

    to {
        transform: scale(1.08);
    }
}


/* ========================================
   Mobile
======================================== */

@media (max-width: 768px) {

    .product-action-button {
        width: 44px;
        height: 44px;
        border-radius: 13px;
    }

    .product-favorite-icon {
        width: 25px;
        height: 25px;
    }

    .product-action-tooltip {
        display: none;
    }
}


/* ========================================
   Product Toast
======================================== */

.product-toast-container {
    position: fixed;
    z-index: 9999;
    left: 24px;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.product-toast {
    min-width: 280px;
    max-width: 380px;
    padding: 13px 16px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    background: linear-gradient( 135deg, #17346e, #21468f );
    color: #ffffff;
    box-shadow: 0 12px 35px rgba(23, 52, 110, .28);
    font-size: 13px;
    line-height: 1.8;
}

    .product-toast.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

    .product-toast.is-success {
        border-right: 0;
        box-shadow: inset -4px 0 0 #13b5c8, 0 12px 35px rgba(23, 52, 110, .28);
    }

    .product-toast.is-error {
        border-right: 5px solid #ff6b7a;
    }

@media (max-width: 576px) {
    .product-toast-container {
        right: 16px;
        left: 16px;
        bottom: 16px;
    }

    .product-toast {
        width: 100%;
        min-width: 0;
        max-width: none;
    }
}
/* ========================================
   Product Share Modal
======================================== */

body.product-share-open {
    overflow: hidden;
}

.product-share-modal[hidden] {
    display: none;
}

.product-share-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
}

    .product-share-modal.is-open {
        opacity: 1;
        visibility: visible;
    }

.product-share-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(16, 24, 40, .58);
    backdrop-filter: blur(2px);
}

.product-share-dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 560px);
    overflow: hidden;
    border: 1px solid rgba(23, 52, 110, .1);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(18, 31, 54, .22);
    direction: rtl;
    transform: translateY(12px) scale(.98);
    transition: transform .18s ease;
}

.product-share-modal.is-open
.product-share-dialog {
    transform: translateY(0) scale(1);
}

.product-share-dialog:focus {
    outline: none;
}

.product-share-dialog__header {
    min-height: 72px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #e8ebf0;
}

    .product-share-dialog__header h2 {
        margin: 0;
        color: #172b52;
        font-size: 18px;
        font-weight: 700;
    }

.product-share-dialog__close {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: #596273;
    font-size: 22px;
    cursor: pointer;
    transition: color .16s ease, background-color .16s ease;
}

    .product-share-dialog__close:hover {
        color: #17346e;
        background: #f1f5fb;
    }

    .product-share-dialog__close:focus-visible,
    .product-share-copy:focus-visible {
        outline: 3px solid rgba(19, 181, 200, .25);
        outline-offset: 2px;
    }

.product-share-dialog__body {
    padding: 26px 24px 30px;
}

    .product-share-dialog__body p {
        margin: 0 0 22px;
        color: #303846;
        font-size: 15px;
        line-height: 1.9;
    }

.product-share-copy {
    width: 100%;
    min-height: 54px;
    padding: 10px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #17346e;
    border-radius: 12px;
    background: #ffffff;
    color: #17346e;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

    .product-share-copy:hover {
        background: #17346e;
        color: #ffffff;
        box-shadow: 0 10px 25px rgba(23, 52, 110, .18);
    }

    .product-share-copy:disabled {
        cursor: wait;
        opacity: .65;
    }

    .product-share-copy.is-loading i {
        animation: productSharePulse .7s ease-in-out infinite alternate;
    }

@keyframes productSharePulse {
    from {
        transform: scale(.85);
    }

    to {
        transform: scale(1.1);
    }
}

@media (max-width: 576px) {

    .product-share-modal {
        padding: 16px;
        align-items: flex-end;
    }

    .product-share-dialog {
        width: 100%;
        border-radius: 18px 18px 12px 12px;
    }

    .product-share-dialog__header {
        min-height: 64px;
        padding: 0 18px;
    }

    .product-share-dialog__body {
        padding: 22px 18px 24px;
    }
}

.product-share-icon {
    width: 27px;
    height: 27px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-notification-icon {
    width: 27px;
    height: 27px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-notification-button:hover
.product-notification-icon {
    transform: scale(1.06);
}

.notification-question {
    margin: 0 0 20px;
    color: #172b52;
    font-size: 16px;
}

.notification-option {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #303846;
    cursor: pointer;
}

    .notification-option input {
        width: 21px;
        height: 21px;
        accent-color: #17346e;
    }

.notification-error {
    min-height: 24px;
    margin: 8px 0;
    color: #e43d5b;
    font-size: 13px;
}

.notification-submit {
    min-width: 180px;
    min-height: 48px;
    margin: 28px auto 0;
    padding: 10px 28px;
    display: block;
    border: 0;
    border-radius: 11px;
    background: #17346e;
    color: #ffffff;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
}

    .notification-submit:disabled {
        background: #d9dce2;
        cursor: not-allowed;
    }

.product-notification-button.is-active {
    color: #ef4056;
}

    .product-notification-button.is-active
    .product-notification-icon {
        stroke: #ef4056;
    }

    .product-notification-button.is-active:hover {
        color: #dc3048;
        background: rgba(239, 64, 86, .055);
        border-color: rgba(239, 64, 86, .13);
    }
/* =========================================================
   Product Sellers - Refined
========================================================= */

.pdp-sellers-section {
    position: relative;
}

.pdp-sellers-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.pdp-sellers-title {
    display: flex;
    align-items: center;
    gap: 14px;
}

.pdp-sellers-title-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 16px;
    background: linear-gradient( 135deg, rgba(23, 52, 110, .11), rgba(24, 181, 207, .08) );
    color: var(--pdp-primary);
    font-size: 22px;
}

.pdp-sellers-title h2 {
    margin: 0;
    color: var(--pdp-text);
    font-size: 23px;
    font-weight: 800;
    line-height: 1.5;
}

.pdp-sellers-title p {
    margin: 4px 0 0;
    color: var(--pdp-muted);
    font-size: 13px;
    font-weight: 500;
}

.pdp-sellers-guide {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 15px;
    border-radius: 13px;
    background: rgba(24, 181, 207, .09);
    color: var(--pdp-primary);
    font-size: 13px;
    font-weight: 600;
}

    .pdp-sellers-guide i {
        color: var(--pdp-cyan);
        font-size: 18px;
    }


/* =========================================================
   Seller list
========================================================= */

.pdp-seller-list {
    display: grid;
    gap: 16px;
    border: 0;
}


/* =========================================================
   Seller Card
========================================================= */

.pdp-seller-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(270px, .9fr) minmax(650px, 2.1fr) minmax(260px, .85fr);
    gap: 22px;
    align-items: center;
    padding: 22px 26px;
    border: 1px solid #e4e8ef;
    border-radius: 18px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}

    .pdp-seller-card:hover {
        border-color: rgba(23, 52, 110, .25);
        box-shadow: 0 14px 36px rgba(23, 52, 110, .08);
        transform: translateY(-2px);
    }


    /* Selected */

    .pdp-seller-card.is-selected {
        border-color: rgba(24, 181, 207, .55);
        background: linear-gradient( 135deg, rgba(24, 181, 207, .045), rgba(23, 52, 110, .018) );
        box-shadow: inset 4px 0 0 var(--pdp-cyan), 0 10px 28px rgba(23, 52, 110, .055);
    }


/* =========================================================
   Seller identity
========================================================= */

.pdp-seller-card-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.pdp-seller-identity {
    display: flex;
    align-items: center;
    gap: 14px;
}

.pdp-seller-avatar {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid #dfe4eb;
    border-radius: 16px;
    background: #fff;
    color: var(--pdp-primary);
    font-size: 24px;
}

    .pdp-seller-avatar img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 6px;
    }

.pdp-seller-identity-info {
    min-width: 0;
}

.pdp-seller-name-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

    .pdp-seller-name-line > strong {
        color: var(--pdp-text);
        font-size: 16px;
        font-weight: 800;
        line-height: 1.6;
    }

.pdp-seller-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border-radius: 20px;
    background: rgba(24, 181, 207, .1);
    color: #0b7484;
    font-size: 11px;
    font-weight: 700;
}

    .pdp-seller-verified i {
        color: var(--pdp-cyan);
    }


/* =========================================================
   Performance
========================================================= */

.pdp-seller-performance {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: 8px;
    color: var(--pdp-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.7;
}

    .pdp-seller-performance span {
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

    .pdp-seller-performance strong {
        color: var(--pdp-green);
        font-weight: 700;
    }

.pdp-seller-rating {
    color: var(--pdp-text) !important;
}

    .pdp-seller-rating i {
        color: #f4b740;
    }


/* =========================================================
   Badges
========================================================= */

.pdp-seller-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}

.pdp-seller-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 29px;
    padding: 5px 9px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
}

    .pdp-seller-badge.is-recommended {
        background: rgba(23, 52, 110, .08);
        color: var(--pdp-primary);
    }

    .pdp-seller-badge.is-best-price {
        background: rgba(0, 143, 124, .09);
        color: var(--pdp-green);
    }

    .pdp-seller-badge.is-current {
        background: rgba(24, 181, 207, .1);
        color: #087f91;
    }


/* =========================================================
   Seller details
========================================================= */

.pdp-seller-card-details {
    display: grid;
    grid-template-columns: minmax(250px, 1.45fr) minmax(190px, 1fr) minmax(150px, .8fr);
    gap: 12px;
    align-items: stretch;
}

.pdp-seller-detail {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #eef1f5;
    border-radius: 14px;
    background: #f8f9fb;
    min-height: 112px;
    align-items: flex-start;
}

.pdp-seller-detail-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(23, 52, 110, .05);
    color: var(--pdp-primary);
    font-size: 16px;
}

.pdp-seller-detail > div:last-child {
    min-width: 0;
}

.pdp-seller-detail span {
    display: block;
    margin-bottom: 5px;
    color: #8a94a5;
    font-size: 11px;
    font-weight: 500;
}

.pdp-seller-detail strong {
    display: block;
    color: var(--pdp-text);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.75;
    overflow-wrap: break-word;
}

.pdp-seller-detail small {
    display: block;
    margin-top: 5px;
    color: var(--pdp-muted);
    font-size: 11px;
    line-height: 1.7;
}

    .pdp-seller-detail small.is-positive {
        color: var(--pdp-green);
        font-weight: 700;
    }

.pdp-seller-detail strong.is-warning {
    color: #c77a00;
}


/* =========================================================
   Price & Action
========================================================= */

.pdp-seller-card-action {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    padding-right: 4px;
}

.pdp-seller-card-price {
    text-align: left;
}

.pdp-seller-old-price {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

    .pdp-seller-old-price span {
        color: var(--pdp-muted);
        font-size: 12px;
        text-decoration: line-through;
    }

    .pdp-seller-old-price b {
        padding: 3px 6px;
        border-radius: 7px;
        background: var(--pdp-red);
        color: #fff;
        font-size: 10px;
        font-weight: 800;
    }

.pdp-seller-final-price {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 6px;
}

    .pdp-seller-final-price strong {
        color: var(--pdp-text);
        font-size: 26px;
        font-weight: 900;
        letter-spacing: -.3px;
        line-height: 1.2;
    }

    .pdp-seller-final-price span {
        color: var(--pdp-muted);
        font-size: 11px;
        font-weight: 500;
    }

.pdp-seller-card-price > small {
    display: block;
    margin-top: 7px;
    color: var(--pdp-green);
    font-size: 11px;
    font-weight: 600;
    text-align: left;
}


/* =========================================================
   Seller button
========================================================= */

.pdp-seller-select {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 16px;
    border: 1px solid var(--pdp-primary);
    border-radius: 12px;
    background: #fff;
    color: var(--pdp-primary);
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

    .pdp-seller-select:hover {
        background: var(--pdp-primary);
        color: var(--pdp-on-action);
        box-shadow: 0 8px 18px rgba(23, 52, 110, .15);
        transform: translateY(-1px);
    }

    .pdp-seller-select.is-selected {
        border-color: rgba(24, 181, 207, .35);
        background: rgba(24, 181, 207, .1);
        color: #087f91;
        cursor: default;
        box-shadow: none;
    }

        .pdp-seller-select.is-selected:hover {
            transform: none;
        }


/* =========================================================
   Tablet
========================================================= */

@media (max-width: 1250px) {

    .pdp-seller-card {
        grid-template-columns: minmax(270px, 1fr) minmax(360px, 1.4fr);
    }

    .pdp-seller-card-action {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 200px;
        align-items: center;
        gap: 18px;
    }

    .pdp-seller-card-price {
        text-align: right;
    }

    .pdp-seller-final-price,
    .pdp-seller-old-price {
        justify-content: flex-start;
    }

    .pdp-seller-card-price > small {
        text-align: right;
    }
}


/* =========================================================
   Mobile
========================================================= */

@media (max-width: 768px) {

    .pdp-sellers-header {
        align-items: flex-start;
    }

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

    .pdp-sellers-title h2 {
        font-size: 19px;
    }

    .pdp-seller-card {
        display: block;
        padding: 17px;
        border-radius: 15px;
    }

    .pdp-seller-avatar {
        width: 50px;
        height: 50px;
        border-radius: 14px;
    }

    .pdp-seller-name-line > strong {
        font-size: 17px;
        font-weight: 800;
    }

    .pdp-seller-performance {
        font-size: 11px;
    }

    .pdp-seller-card-details {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 16px;
    }

    .pdp-seller-detail {
        padding: 12px;
    }

        .pdp-seller-detail strong {
            font-size: 12px;
        }

    .pdp-seller-card-action {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 17px;
        gap: 12px;
    }

    .pdp-seller-final-price {
        justify-content: flex-start;
    }

    .pdp-seller-old-price {
        justify-content: flex-start;
    }

    .pdp-seller-card-price {
        text-align: right;
    }

    .pdp-seller-final-price strong {
        font-size: 22px;
    }

    .pdp-seller-card-price > small {
        text-align: right;
    }

    .pdp-seller-select {
        min-height: 46px;
    }
}

.pdp-seller-card-action {
    width: 100%;
    max-width: 300px;
    justify-self: end;
}

.pdp-seller-select {
    min-height: 46px;
}

@media (max-width: 900px) {

    .pdp-spec-highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 600px) {

    .pdp-spec-highlights {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-bottom: 24px;
    }

    .pdp-spec-highlight {
        align-items: flex-start;
        padding: 12px;
        gap: 9px;
    }

    .pdp-spec-highlight-icon {
        width: 34px;
        height: 34px;
    }

    .pdp-spec-highlight-content strong {
        font-size: 12px;
    }

    .pdp-spec-preview-layout {
        display: block;
        direction: rtl;
    }

    .pdp-spec-preview-group-title {
        padding: 0 0 12px;
        margin: 0;
        font-size: 14px;
    }

    .pdp-spec-preview-list {
        width: 100%;
        padding-top: 0;
    }

    .pdp-spec-preview-row {
        direction: ltr;
        grid-template-columns: minmax(0, 62%) minmax(110px, 38%);
        min-height: 64px;
    }

    .pdp-spec-preview-label {
        grid-column: 2;
        padding: 12px 8px;
        font-size: 11px;
    }

    .pdp-spec-preview-value {
        grid-column: 1;
        margin-left: 0;
        padding: 12px 8px;
        font-size: 12px;
    }




    .pdp-spec-row {
        grid-template-columns: minmax(110px, 38%) 1fr;
    }

    .pdp-spec-name {
        padding: 12px 8px;
        font-size: 11px;
    }

    .pdp-spec-value {
        padding: 12px 8px;
        font-size: 12px;
    }

    .pdp-spec-group > h3 {
        font-size: 14px;
    }
}
