/* =========================================
   RSHIN PACK — PRODUCT PAGE CSS FINAL
========================================= */

/* =========================================
   LAYOUT اصلی
========================================= */

.rshin-product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    max-width: 1280px;
    margin: 48px auto;
    padding: 0 32px;
    align-items: start;
}

/* =========================================
   GALLERY
========================================= */

.rp-gallery {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 16px;
    width: 100%;
    position: sticky;
    top: 110px;
    align-self: start;
    height: fit-content;
}

.rp-gallery-thumbs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    overflow-x: visible;
    max-height: 560px;
    scrollbar-width: thin;
    scrollbar-color: #D0D0D0 transparent;
    padding-right: 4px;
    margin-left: 0;
}

.rp-gallery-thumbs::-webkit-scrollbar {
    width: 4px;
}

.rp-gallery-thumbs::-webkit-scrollbar-track {
    background: transparent;
}

.rp-gallery-thumbs::-webkit-scrollbar-thumb {
    background: #D0D0D0;
    border-radius: 4px;
}

.rp-thumb {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    border: 1.5px solid #E5E5E5;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
    transition: .2s;
}

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

.rp-thumb:hover {
    border-color: #5A266A;
}

.rp-thumb.active {
    border: 2px solid #5A266A;
}

.rp-gallery-main {
    position: relative;
    aspect-ratio: 1 / 1;
    max-height: 560px;
    border: 1px solid #ECECEC;
    border-radius: 18px;
    overflow: hidden;
    background: #FAFAFA;
    cursor: zoom-in;
}

.rp-gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: opacity .25s ease;
}

.rp-gallery-main img.loading {
    opacity: 0;
}

/* =========================================
   ORDER PANEL
========================================= */

.rp-order-panel {
    background: #fff;
    border: 1px solid #E8E8E8;
    border-radius: 24px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, .06);
    box-sizing: border-box;
    overflow: visible !important;
}

.rp-order-header {
    padding-bottom: 20px;
    border-bottom: 1px solid #F0F0F0;
}

.rp-product-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rp-title {
    margin: 0;
    font-size: 26px;
    line-height: 1.4;
    font-weight: 700;
    color: #171717;
}

.rp-description {
    font-size: 14px;
    line-height: 1.9;
    color: #666;
}

.rp-order-body {
    display: flex;
    flex-direction: column;
}

.rp-buy-box {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rp-buy-box form.cart {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* =========================================
   VARIATIONS
========================================= */

table.variations select {
    display: none !important;
}

table.variations {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

table.variations tr {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid #F0F0F0;
    background: transparent !important;
}

table.variations tr:last-child {
    border-bottom: none;
}

table.variations td,
table.variations th {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    background: transparent !important;
    box-shadow: none !important;
}

table.variations th {
    margin-bottom: 12px;
}

table.variations label {
    font-size: 13px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

table.variations tr:hover {
    background: transparent !important;
}

/* =========================================
   OPTION BUTTONS
========================================= */
.rp-options {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-top: 4px;
}

.rp-option {
    all: unset;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-width: 80px;
    height: 48px;
    padding: 0 20px;
    border: 1.5px solid #E0E0E0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #555 !important;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    box-sizing: border-box;
    transition: all .2s;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .04);
}

.rp-option:hover {
    border-color: #5A266A !important;
    color: #5A266A !important;
    background: #FAF7FC !important;
    box-shadow: 0 4px 12px rgba(90, 38, 106, .1);
    transform: translateY(-1px);
}

.rp-option.active {
    background: #5A266A !important;
    color: #fff !important;
    border-color: #5A266A !important;
    box-shadow: 0 6px 16px rgba(90, 38, 106, .25);
    transform: translateY(-1px);
}
/* =========================================
   VARIATION PRICE
========================================= */

.single_variation {
    display: block !important;
    padding: 14px 18px;
    border: 1px solid #EBEBEB;
    border-radius: 14px;
    background: #FAFAFA;
}

.single_variation .price {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin: 0 !important;
}

.single_variation .price::before {
    content: "قیمت هر عدد";
    font-size: 13px;
    color: #6B7280;
    font-weight: 600;
}

.single_variation .woocommerce-Price-amount {
    font-size: 18px;
    font-weight: 700;
    color: #123140;
}

.single_variation .woocommerce-Price-currencySymbol {
    font-size: 14px;
    margin-right: 4px;
}

/* =========================================
   QTY
========================================= */

.quantity {
    margin: 0 !important;
}

.rp-qty {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 8px 0 !important;
    direction: ltr;
    float: none !important;
}

.rp-qty button {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 22px;
    font-weight: 700;
    transition: .2s;
}

.rp-qty .minus {
    background: #F2F2F2 !important;
    color: #123140 !important;
}

.rp-qty .plus {
    background: #5A266A !important;
    color: #fff !important;
}

.rp-qty button:hover {
    transform: translateY(-2px);
    opacity: .9;
}

.rp-qty input.qty {
    width: 88px !important;
    height: 44px !important;
    margin: 0 !important;
    text-align: center !important;
    border: 1px solid #DADADA !important;
    border-radius: 12px !important;
    font-size: 18px !important;
    background: #fff !important;
    float: none !important;
    box-shadow: none !important;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}

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

.single_variation_wrap .quantity {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    float: none !important;
}

/* =========================================
   ADD TO CART BUTTON
========================================= */

.single_add_to_cart_button {
    width: 100% !important;
    height: 52px;
    border: none !important;
    border-radius: 14px !important;
    background: #5A266A !important;
    color: #EBE2DC !important;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s;
    font-family: inherit;
}

.single_add_to_cart_button:hover {
    background: #4A1F57 !important;
    transform: translateY(-1px);
}

.single_add_to_cart_button:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
}

/* =========================================
   ORDER SUMMARY BOX
========================================= */

.rp-summary-box {
    padding: 16px 18px;
    background: #F8F8F8;
    border: 1px solid #EBEBEB;
    border-radius: 16px;
}

.rp-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #ECECEC;
}

.rp-summary-row:last-child {
    border-bottom: none;
}

.rp-summary-row span:first-child {
    font-size: 13px;
    color: #7B7B7B;
}

.rp-summary-row span:last-child {
    font-size: 15px;
    font-weight: 700;
    color: #123140;
}

.rp-summary-row.total {
    padding-top: 14px;
    margin-top: 4px;
}

.rp-summary-row.total span:first-child {
    font-size: 15px;
    color: #123140;
    font-weight: 700;
}

.rp-summary-row.total span:last-child {
    font-size: 22px;
    color: #5A266A;
    font-weight: 700;
}

/* =========================================
   PRODUCT CONTENT (TABS BELOW)
========================================= */

.rpb-content {
    max-width: 1280px;
    margin: 50px auto 0;
    padding: 0 32px;
}

.rpb-tabs {
    background: #fff;
    border: 1px solid #E8E8E8;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0, 0, 0, .04);
}

.rpb-tab-menu {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #F0F0F0;
    overflow-x: auto;
    padding: 0 20px;
    scrollbar-width: none;
}

.rpb-tab-menu::-webkit-scrollbar {
    display: none;
}

.rpb-tab-menu button {
    all: unset;
    padding: 18px 22px;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    color: #777;
    white-space: nowrap;
    position: relative;
    transition: .2s;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border: none !important;
}

.rpb-tab-menu button:hover {
    color: #5A266A !important;
}

.rpb-tab-menu button.active {
    color: #5A266A !important;
    font-weight: 600;
}

.rpb-tab-menu button.active::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 20px;
    left: 20px;
    height: 2px;
    background: #5A266A !important;
}

.rpb-tab-panel {
    display: none;
    padding: 36px;
}

.rpb-tab-panel.active {
    display: block;
}

.rpb-tab-panel h2 {
    margin: 0 0 24px;
    font-size: 22px;
    font-weight: 700;
    color: #171717;
}

/* =========================================
   SPECS
========================================= */

.rpb-section-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #171717;
}

.rpb-spec-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
}

.rpb-spec-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #F0F0F0;
    gap: 20px;
}

.rpb-spec-item span {
    color: #777;
    font-size: 14px;
}

.rpb-spec-item strong {
    color: #171717;
    font-size: 14px;
    font-weight: 600;
}

/* =========================================
   GUIDE CARDS
========================================= */

.rpb-guide-intro {
    color: #777 !important;
    font-size: 14px !important;
    line-height: 2 !important;
    margin: 0 0 30px !important;
}

.rpb-guide-cards {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
}

.rpb-guide-card {
    background: #FAFAFA !important;
    border: 1px solid #E8E8E8 !important;
    border-radius: 18px !important;
    padding: 24px !important;
}

.rpb-guide-card h3 {
    margin: 0 0 14px !important;
    font-size: 18px !important;
    color: #171717 !important;
}

.rpb-guide-card p {
    margin: 0 0 18px !important;
    color: #666 !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
}

.rpb-guide-card span {
    display: inline-block !important;
    padding: 6px 14px !important;
    border-radius: 30px !important;
    background: #F5EDF7 !important;
    color: #5A266A !important;
    font-size: 12px !important;
}

.rpb-subtitle {
    margin: 35px 0 20px !important;
    font-size: 18px !important;
    color: #171717 !important;
}

.rpb-cover-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
}

.rpb-cover-grid>div {
    background: #fff !important;
    border: 1px solid #E8E8E8 !important;
    border-radius: 14px !important;
    padding: 20px !important;
}

.rpb-cover-grid strong {
    display: block !important;
    margin-bottom: 10px !important;
    color: #171717 !important;
    font-size: 14px !important;
}

.rpb-cover-grid p {
    margin: 0 !important;
    color: #777 !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
}

/* =========================================
   PRICE TABLE
========================================= */

.rpb-price-box {
    background: #FAFAFA;
    border: 1px solid #E8E8E8;
    border-radius: 18px;
    padding: 24px;
}

.rpb-price-box h3 {
    margin: 0 0 20px;
    font-size: 16px;
}

.rpb-price-head,
.rpb-price-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1.5fr;
    align-items: center;
    gap: 20px;
    padding: 16px 18px;
}

.rpb-price-head {
    font-size: 12px;
    color: #888;
    border-bottom: 1px solid #eee;
}

.rpb-price-row {
    font-size: 14px;
    border-bottom: 1px solid #eee;
}

.rpb-price-row:last-child {
    border-bottom: none;
}

.rpb-price-row strong {
    color: #5A266A;
}

.rpb-price-row.active {
    background: #F7F1F9;
    border-radius: 12px;
}

/* =========================================
   ORDER PROCESS
========================================= */

.rpb-delivery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 32px;
}

.rpb-delivery>div {
    border: 1px solid #E8E8E8;
    border-radius: 16px;
    padding: 24px;
    background: #fff;
}

.rpb-delivery h4 {
    margin: 0 0 10px;
    font-size: 14px;
    color: #777;
}

.rpb-delivery p {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #171717;
}

.rpb-steps {
    border-top: 1px solid #eee;
}

.rpb-step {
    display: flex;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}

.rpb-step>span {
    width: 36px;
    height: 36px;
    background: #5A266A;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

.rpb-step strong {
    display: block;
    margin-bottom: 5px;
}

.rpb-step p {
    margin: 0;
    color: #777;
    line-height: 1.8;
    font-size: 13px;
}

/* =========================================
   FAQ
========================================= */

.rpb-faq-list {
    border-top: 1px solid #E8E8E8;
}

.rpb-faq-item {
    border-bottom: 1px solid #E8E8E8;
}

.rpb-faq-question {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 20px 0 !important;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #171717 !important;
    text-align: right;
    transition: .2s;
}

.rpb-faq-question:hover,
.rpb-faq-question:focus {
    background: transparent !important;
    color: #5A266A !important;
}

.rpb-faq-question span {
    font-size: 22px;
    color: #5A266A !important;
    transition: .25s;
}

.rpb-faq-answer {
    display: none;
    padding: 0 0 20px;
    color: #777;
    line-height: 2;
    font-size: 14px;
}

.rpb-faq-item.active .rpb-faq-answer {
    display: block;
}

.rpb-faq-item.active .rpb-faq-question span {
    transform: rotate(45deg);
}

/* =========================================
   RELATED PRODUCTS
========================================= */

.rpb-related-section {
    margin-top: 60px;
    padding: 32px;
    border-top: 1px solid #eee;
}

.rpb-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.rpb-related-card {
    border: 1px solid #E8E8E8;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    transition: .25s;
}

.rpb-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}

.rpb-related-image {
    aspect-ratio: 1;
    background: #fafafa;
}

.rpb-related-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rpb-related-info {
    padding: 18px;
}

.rpb-related-info h3 {
    font-size: 15px;
    margin-bottom: 10px;
    color: #171717;
}

.rpb-related-type {
    font-size: 13px;
    color: #777;
    margin-bottom: 12px;
}

.rpb-related-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.rpb-related-tags span {
    font-size: 11px;
    padding: 5px 10px;
    border-radius: 20px;
    background: #F5F2F7;
    color: #5A266A;
}

.rpb-related-btn {
    text-align: center;
    padding: 10px;
    background: #5A266A;
    color: #fff;
    border-radius: 10px;
    font-size: 13px;
}

/* =========================================
   CTA SECTION
========================================= */

.rpb-cta-section {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 40px 0 20px;
}

.rpb-cta-card {
    background: #fff;
    border: 1px solid #E8E8E8;
    border-radius: 16px;
    padding: 22px;
    transition: .25s;
}

.rpb-cta-card:hover {
    border-color: #5A266A;
    transform: translateY(-2px);
}

.rpb-cta-icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #F7F2FA;
    font-size: 20px;
    margin-bottom: 16px;
}

.rpb-cta-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: #171717;
    margin-bottom: 14px;
}

.rpb-cta-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rpb-cta-card li {
    font-size: 13px;
    color: #666;
    padding: 8px 0;
    border-bottom: 1px solid #F1F1F1;
    line-height: 1.8;
}

.rpb-cta-card li:last-child {
    border-bottom: none;
}

.rpb-cta-card p {
    font-size: 13px;
    color: #666;
    line-height: 2;
    margin: 0 0 20px;
}

.rpb-cta-highlight {
    background: #5A266A;
    border-color: #5A266A;
}

.rpb-cta-highlight h3 {
    color: #fff;
}

.rpb-cta-highlight p {
    color: rgba(255, 255, 255, .85);
}

.rpb-cta-buttons {
    display: flex;
    gap: 10px;
}

.rpb-btn-main,
.rpb-btn-outline {
    flex: 1;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: .2s;
}

.rpb-btn-main {
    background: #fff;
    color: #5A266A;
}

.rpb-btn-main:hover {
    background: #F4F4F4;
}

.rpb-btn-outline {
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
}

.rpb-btn-outline:hover {
    background: rgba(255, 255, 255, .1);
}

/* =========================================
   LIGHTBOX
========================================= */

.rp-lightbox {
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, .35);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 99999;
}

.rp-lightbox.show {
    display: flex;
    animation: rpFade .2s ease;
}

.rp-lightbox-content {
    width: min(1300px, 92vw);
    height: min(850px, 92vh);
    background: #fff;
    border-radius: 26px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .22);
    animation: rpZoom .25s ease;
}

.rp-lightbox-gallery {
    display: flex;
    gap: 24px;
    width: 100%;
    height: 100%;
    align-items: stretch;
}

.rp-lightbox-thumbs {
    width: 110px;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow-y: auto;
    overflow-x: hidden;
    flex-shrink: 0;
    scrollbar-width: none;
}

.rp-lightbox-thumbs::-webkit-scrollbar {
    width: 0;
}

.rp-lightbox-thumbs .rp-thumb {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    border-radius: 12px;
    overflow: hidden;
}

.rp-lightbox-thumbs .rp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.rp-lightbox-thumbs .rp-thumb:hover {
    transform: translateY(-3px);
    border-color: #5A266A;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
}

.rp-lightbox-thumbs .rp-thumb.active {
    border: 2px solid #5A266A;
    box-shadow: 0 12px 28px rgba(90, 38, 106, .20);
}

.rp-lightbox-main {
    flex: 1;
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}

.rp-lightbox-main img {
    display: block;
    width: min(760px, 100%);
    max-height: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    cursor: zoom-in;
    transition: transform .15s ease;
    user-select: none;
    -webkit-user-drag: none;
}

.rp-lightbox-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #444;
    cursor: pointer;
    transition: .25s;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    z-index: 20;
}

.rp-lightbox-close:hover {
    background: #5A266A;
    color: #fff;
    transform: rotate(90deg);
}

.rp-lightbox-prev,
.rp-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .85);
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    cursor: pointer;
    font-size: 24px;
    color: #444;
    transition: .25s;
    z-index: 15;
    outline: none;
}

.rp-lightbox-prev {
    left: 18px;
}

.rp-lightbox-next {
    right: 18px;
}

.rp-lightbox-prev:hover,
.rp-lightbox-next:hover {
    background: #5A266A;
    color: #fff;
    transform: translateY(-50%) scale(1.08);
}

/* =========================================
   ANIMATIONS
========================================= */

@keyframes rpFade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes rpZoom {
    from {
        opacity: 0;
        transform: scale(.96);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* =========================================
   RESPONSIVE — TABLET (max 960px)
========================================= */

@media (max-width: 960px) {

    .rshin-product {
        grid-template-columns: 1fr;
        gap: 28px;
        margin: 24px auto;
        padding: 0 20px;
    }

    .rp-gallery {
        position: relative;
        top: auto;
    }

    .rp-gallery-main {
        max-height: none;
    }

    .rp-gallery-thumbs {
        max-height: none;
    }

    .rp-order-panel {
        padding: 28px;
    }

    .rpb-content {
        padding: 0 20px;
    }

    .rpb-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rpb-cta-section {
        grid-template-columns: 1fr;
    }

    .rpb-cover-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .rpb-delivery {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   MOBILE FIX — جایگزین بخش responsive
   در فایل rshinpack-final.css
========================================= */

/* TABLET */
@media (max-width: 960px) {

    .rshin-product {
        display: flex;
        flex-direction: column;
        gap: 28px;
        margin: 24px auto;
        padding: 0 20px;
        width: 100%;
        box-sizing: border-box;
    }

    .rp-gallery {
        position: relative;
        top: auto;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .rp-gallery-main {
        max-height: none;
        width: 100%;
    }

    .rp-gallery-thumbs {
        max-height: none;
    }

    .rp-order-panel {
        padding: 28px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .rpb-content {
        padding: 0 20px;
    }

    .rpb-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rpb-cta-section {
        grid-template-columns: 1fr;
    }

    .rpb-cover-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .rpb-delivery {
        grid-template-columns: 1fr;
    }
}

/* MOBILE */
@media (max-width: 600px) {

    /* کانتینر اصلی */
    .rshin-product {
        display: flex;
        flex-direction: column;
        padding: 0 14px;
        gap: 20px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow: hidden;
    }

    /* gallery */
    .rp-gallery {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .rp-gallery-main {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 1/1;
        border-radius: 14px;
        box-sizing: border-box;
    }

    .rp-gallery-main img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    /* thumbnails افقی */
    .rp-gallery-thumbs {
        display: flex;
        flex-direction: row;
        width: 100%;
        max-width: 100%;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 8px;
        padding-bottom: 4px;
        scrollbar-width: none;
        margin-left: 0;
        box-sizing: border-box;
    }

    .rp-gallery-thumbs::-webkit-scrollbar {
        display: none;
    }

    .rp-thumb {
        flex: 0 0 60px;
        width: 60px;
        height: 60px;
        border-radius: 8px;
    }

    /* order panel */
    .rp-order-panel {
        width: 100%;
        max-width: 100%;
        padding: 18px;
        border-radius: 16px;
        gap: 16px;
        box-sizing: border-box;
    }

    .rp-title {
        font-size: 20px;
    }

    .rp-description {
        font-size: 13px;
    }

    /* variations */
    table.variations {
        width: 100%;
        max-width: 100%;
    }

    /* options */
    .rp-options {
        justify-content: flex-start;
        gap: 8px;
        width: 100%;
    }

    .rp-option {
        min-width: 52px;
        height: 36px;
        padding: 0 12px;
        font-size: 12px;
    }

    /* tabs */
    .rpb-content {
        padding: 0 14px;
        width: 100%;
        box-sizing: border-box;
    }

    .rpb-tabs {
        width: 100%;
        box-sizing: border-box;
        overflow: hidden;
    }

    .rpb-tab-panel {
        padding: 20px 16px;
    }

    .rpb-tab-menu button {
        padding: 12px 14px;
        font-size: 13px;
    }

    /* specs */
    .rpb-spec-grid {
        grid-template-columns: 1fr !important;
    }

    .rpb-spec-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    /* guide */
    .rpb-guide-cards {
        grid-template-columns: 1fr !important;
    }

    .rpb-cover-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    /* price */
    .rpb-price-head,
    .rpb-price-row {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding: 12px;
    }

    .rpb-price-head>*:last-child,
    .rpb-price-row>*:last-child {
        display: none;
    }

    /* related */
    .rpb-related-section {
        margin-top: 24px;
        padding: 16px 0;
    }

    .rpb-related-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .rpb-related-card {
        border-radius: 10px;
    }

    .rpb-related-info {
        padding: 10px;
    }

    .rpb-related-info h3 {
        font-size: 12px;
    }

    /* cta */
    .rpb-cta-section {
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 24px 0;
    }

    .rpb-cta-card {
        padding: 16px;
        border-radius: 12px;
    }

    /* lightbox */
    .rp-lightbox-content {
        width: 92vw;
        height: auto;
        max-height: 85vh;
        padding: 12px;
        border-radius: 16px;
    }

    .rp-lightbox-gallery {
        flex-direction: column;
        gap: 10px;
    }

    .rp-lightbox-main {
        width: 100%;
        height: auto;
        max-height: 60vh;
    }

    .rp-lightbox-thumbs {
        width: 100%;
        height: 66px;
        max-height: 66px;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .rp-lightbox-thumbs .rp-thumb {
        flex: 0 0 56px;
        width: 56px;
        height: 56px;
    }
}

/* فقط این رو به انتهای CSS اضافه کن */

@media (max-width: 600px) {
    .rp-gallery {
        display: flex;
        flex-direction: column-reverse;
    }
}
@media (max-width: 600px) {
    .rp-options {
        justify-content: center;
    }
}
@media (max-width: 600px) {
    .rp-option {
        min-width: 72px !important;
        height: 48px !important;
        padding: 0 16px !important;
        font-size: 13px !important;
        border-radius: 14px !important;
        justify-content: center !important;
        text-align: center !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, .04) !important;
    }
}

/* =================================
PRODUCT DESCRIPTION
================================= */


.rpb-description-section {

    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #E8E8E8;

}



.rpb-description-content {

    background: #fff;

    border: 1px solid #E8E8E8;

    border-radius: 16px;

    padding: 28px;

    font-size: 14px;

    line-height: 2;

    color: #444;

}



.rpb-description-content h2,
.rpb-description-content h3 {

    color: #171717;

    margin: 24px 0 12px;

}



.rpb-description-content p {

    margin-bottom: 16px;

}



.rpb-description-content img {

    max-width: 100%;

    height: auto;

    border-radius: 12px;

}

/* =========================================
   RSHIN PACK — COLOR SELECTOR
========================================= */

.rp-color-box {
    margin-top: 4px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rp-color-label {
    font-size: 13px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rp-color-label-sm {
    font-size: 11px;
    color: #888;
    letter-spacing: 0.4px;
    margin-bottom: 8px;
}

/* =========================================
   دکمه‌های اصلی
========================================= */

.rp-color-main-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.rp-color-main {
    all: unset;
    position: relative;
    display: block;
    height: 140px;
    padding: 16px;
    border: 1.5px solid #E0E0E0;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: all .2s;
    box-sizing: border-box;
    text-align: right;
}


/* عنوان بالا */
.rcm-title {
    position: absolute;
    top: 16px;
    right: 16px;
    left: 16px;

    font-size: 15px;
    font-weight: 700;
    color: #171717;
    line-height: 1.5;
}


/* توضیح وسط */
.rcm-desc {
    position: absolute;
    top: 55px;
    right: 16px;
    left: 16px;

    font-size: 12px;
    color: #888;
    line-height: 1.8;
}


/* قیمت پایین */
.rcm-price {
    position: absolute;
    bottom: 12px;
    right: 50%;
    transform: translateX(50%);

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 6px 14px;
    background: #5A266A;
    border-radius: 8px;

    font-size: 12px;
    color: #EBEBEB;
    font-weight: 700;
    white-space: nowrap;
}
/* =========================================
   بخش children
========================================= */

.rp-color-child-box {
    padding: 16px;
    border: 1px solid #EBEBEB;
    border-radius: 14px;
    background: #FAFAFA;
}

/* دکمه‌های text */

.rp-color-text-opts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rp-color-child,
.rp-color-finish {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 16px;
    border: 1.5px solid #E0E0E0;
    border-radius: 40px;
    font-size: 12px;
    font-weight: 600;
    color: #444;
    cursor: pointer;
    background: #fff;
    transition: all .2s;
    box-sizing: border-box;
}

.rp-color-child:hover,
.rp-color-finish:hover {
    border-color: #5A266A;
    color: #5A266A;
}

.rp-color-child.active,
.rp-color-finish.active {
    background: #5A266A;
    color: #fff;
    border-color: #5A266A;
    box-shadow: 0 4px 12px rgba(90,38,106,.2);
}

/* =========================================
   Swatches
========================================= */

.rp-color-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rp-swatch {
    all: unset;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: all .15s;
    box-sizing: border-box;
    position: relative;
}

.rp-swatch:hover {
    transform: scale(1.12);
    border-color: #5A266A !important;
}

.rp-swatch.active {
    border-color: #5A266A !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #5A266A;
}

/* =========================================
   موبایل
========================================= */

@media (max-width: 600px) {
    .rp-color-main-options {
        grid-template-columns: 1fr;
    }
}
.rp-color-box {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.rp-color-main-options {
    width: 100%;
    box-sizing: border-box;
}

.rp-color-main {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.rp-color-child-box {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.rp-color-swatches {
    width: 100%;
    box-sizing: border-box;
}

.rp-color-text-opts {
    width: 100%;
    box-sizing: border-box;
}
.rp-color-main,
.rp-color-main:hover,
.rp-color-main:focus,
.rp-color-child,
.rp-color-child:hover,
.rp-color-finish,
.rp-color-finish:hover {
    background: #fff !important;
    color: #171717 !important;
    border-color: #E0E0E0 !important;
    box-shadow: none !important;
    border-radius: 14px !important;
}

.rp-color-main.active {
    border-color: #5A266A !important;
    background: #FAF7FC !important;
    color: #171717 !important;
}

.rp-color-child.active,
.rp-color-finish.active {
    background: #5A266A !important;
    color: #fff !important;
    border-color: #5A266A !important;
}

/* =========================================
   RSHIN PACK — SHOP & ARCHIVE PAGES
========================================= */

/* =========================================
   SHARED
========================================= */

.rp-shop-page,
.rp-archive-page {
    max-width: 1280px;
    margin: 0 auto;
    padding: 32px;
    direction: rtl;
}

.rp-shop-section {
    margin-bottom: 36px;
}

.rp-section-label {
    font-size: 11px;
    color: #888;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.rp-section-title {
    font-size: 20px;
    font-weight: 500;
    color: #171717;
    margin-bottom: 16px;
}

/* =========================================
   SHOP HERO
========================================= */

.rp-shop-hero {
    background: #F8F7F5;
    border: 0.5px solid #E5E5E3;
    border-radius: 16px;
    padding: 40px;
    text-align: center;
    margin-bottom: 36px;
}

.rp-shop-tag {
    font-size: 11px;
    color: #888;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.rp-shop-title {
    font-size: 26px;
    font-weight: 500;
    color: #171717;
    margin-bottom: 10px;
}

.rp-shop-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
    max-width: 500px;
    margin: 0 auto 18px;
}

.rp-shop-badges {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.rp-shop-badges span {
    font-size: 12px;
    padding: 5px 14px;
    border-radius: 20px;
    background: #fff;
    border: 0.5px solid #E5E5E3;
    color: #666;
}

/* =========================================
   CATEGORY CARDS
========================================= */

.rp-cat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.rp-cat-card {
    background: #fff;
    border: 0.5px solid #E5E5E3;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s, border-color .2s;
}

.rp-cat-card:hover {
    border-color: #5A266A;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06);
}

.rp-cat-img {
    width: 110px;
    height: 110px;
    flex-shrink: 0;
    background: #F8F7F5;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rp-cat-img img,
.rp-cat-img-el {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rp-cat-img-placeholder {
    font-size: 32px;
    color: #ccc;
}

.rp-cat-body {
    flex: 1;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rp-cat-title {
    font-size: 14px;
    font-weight: 500;
    color: #171717;
}

.rp-cat-desc {
    font-size: 12px;
    color: #888;
    line-height: 1.5;
}

.rp-cat-count {
    font-size: 11px;
    color: #aaa;
    margin-top: 4px;
}

.rp-cat-arrow {
    padding: 0 16px;
    color: #ccc;
    font-size: 18px;
}

/* =========================================
   FEATURED PRODUCTS
========================================= */

.rp-featured-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.rp-prod-card {
    background: #fff;
    border: 0.5px solid #E5E5E3;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s;
    display: block;
}

.rp-prod-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
}

.rp-prod-img {
    height: 160px;
    background: #F8F7F5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rp-prod-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rp-prod-img i {
    font-size: 32px;
    color: #ccc;
}

.rp-prod-body {
    padding: 14px;
}

.rp-prod-cat {
    font-size: 10px;
    color: #aaa;
    margin-bottom: 3px;
}

.rp-prod-title {
    font-size: 13px;
    font-weight: 500;
    color: #171717;
    margin-bottom: 4px;
}

.rp-prod-price {
    font-size: 12px;
    color: #666;
    margin-bottom: 10px;
}

.rp-prod-btn {
    width: 100%;
    padding: 8px;
    border: 0.5px solid #E5E5E3;
    border-radius: 8px;
    font-size: 12px;
    text-align: center;
    color: #171717;
    background: transparent;
}

/* =========================================
   CLIENTS
========================================= */

.rp-clients {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.rp-clients span {
    font-size: 12px;
    padding: 5px 14px;
    border-radius: 8px;
    border: 0.5px solid #E5E5E3;
    background: #fff;
    color: #666;
}

/* =========================================
   SHOP CTA
========================================= */

.rp-shop-cta {
    padding: 32px;
    background: #F8F7F5;
    border-radius: 16px;
    border: 0.5px solid #E5E5E3;
    text-align: center;
}

.rp-shop-cta h3 {
    font-size: 18px;
    font-weight: 500;
    color: #171717;
    margin-bottom: 8px;
}

.rp-shop-cta p {
    font-size: 13px;
    color: #666;
    margin-bottom: 18px;
}

.rp-cta-btns {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.rp-btn-dark {
    padding: 10px 24px;
    border-radius: 10px;
    background: #2C2C2A;
    color: #fff;
    border: none;
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
}

.rp-btn-outline {
    padding: 10px 24px;
    border-radius: 10px;
    background: transparent;
    color: #171717;
    border: 0.5px solid #888;
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
}

/* =========================================
   ARCHIVE BANNER
========================================= */

.rp-archive-banner {
    position: relative;
    background: #F8F7F5;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
    min-height: 200px;
    display: flex;
    align-items: center;
}

.rp-archive-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--banner-bg);
    background-size: cover;
    background-position: center;
    opacity: .15;
}

.rp-archive-banner-inner {
    position: relative;
    padding: 36px 40px;
    z-index: 1;
}

.rp-archive-tag {
    font-size: 11px;
    color: #888;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.rp-archive-title {
    font-size: 26px;
    font-weight: 500;
    color: #171717;
    margin-bottom: 8px;
}

.rp-archive-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 14px;
    max-width: 520px;
}

.rp-archive-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rp-archive-badges span {
    font-size: 12px;
    padding: 4px 12px;
    border-radius: 20px;
    background: #fff;
    border: 0.5px solid #E5E5E3;
    color: #666;
}

/* =========================================
   ARCHIVE TABS
========================================= */

.rp-archive-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 20px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.rp-archive-tabs::-webkit-scrollbar {
    display: none;
}

.rp-archive-tab {
    padding: 7px 16px;
    border: 0.5px solid #E5E5E3;
    border-radius: 40px;
    font-size: 12px;
    white-space: nowrap;
    color: #666;
    background: #fff;
    text-decoration: none;
    transition: .2s;
}

.rp-archive-tab:hover {
    border-color: #5A266A;
    color: #5A266A;
}

.rp-archive-tab.active {
    background: #2C2C2A;
    color: #fff;
    border-color: #2C2C2A;
    font-weight: 500;
}

/* =========================================
   ARCHIVE TOPBAR
========================================= */

.rp-archive-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.rp-result-count {
    font-size: 13px;
    color: #888;
}

.rp-sort-select {
    font-size: 12px;
    padding: 7px 12px;
    border: 0.5px solid #E5E5E3;
    border-radius: 8px;
    background: #fff;
    color: #171717;
    cursor: pointer;
}

/* =========================================
   ARCHIVE PRODUCT GRID
========================================= */

.rp-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.rp-archive-card {
    background: #fff;
    border: 0.5px solid #E5E5E3;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: box-shadow .2s, border-color .2s;
}

.rp-archive-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
    border-color: #ccc;
}

.rp-archive-card-img {
    height: 180px;
    background: #F8F7F5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rp-archive-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rp-archive-card-img i {
    font-size: 36px;
    color: #ccc;
}

.rp-archive-card-body {
    padding: 14px;
}

.rp-archive-card-title {
    font-size: 14px;
    font-weight: 500;
    color: #171717;
    margin-bottom: 5px;
}

.rp-archive-card-price {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
}

.rp-archive-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 10px;
}

.rp-archive-card-tags span {
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 20px;
    background: #F8F7F5;
    color: #888;
}

.rp-archive-card-btn {
    width: 100%;
    padding: 8px;
    border: 0.5px solid #E5E5E3;
    border-radius: 8px;
    font-size: 12px;
    text-align: center;
    color: #171717;
    background: transparent;
}

/* =========================================
   PAGINATION
========================================= */

.rp-archive-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-bottom: 28px;
}

.rp-archive-pagination .page-numbers {
    padding: 7px 14px;
    border: 0.5px solid #E5E5E3;
    border-radius: 8px;
    font-size: 13px;
    color: #666;
    text-decoration: none;
    background: #fff;
}

.rp-archive-pagination .page-numbers.current {
    background: #2C2C2A;
    color: #fff;
    border-color: #2C2C2A;
}

/* =========================================
   SEO BOX
========================================= */

.rp-archive-seo {
    padding: 24px;
    background: #F8F7F5;
    border-radius: 12px;
    border: 0.5px solid #E5E5E3;
}

.rp-archive-seo-title {
    font-size: 16px;
    font-weight: 500;
    color: #171717;
    margin-bottom: 10px;
}

.rp-archive-seo-text {
    font-size: 13px;
    color: #666;
    line-height: 1.9;
}

.rp-no-products {
    grid-column: 1/-1;
    text-align: center;
    padding: 60px;
    color: #888;
    font-size: 14px;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 960px) {

    .rp-shop-page,
    .rp-archive-page {
        padding: 20px;
    }

    .rp-featured-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rp-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {

    .rp-shop-page,
    .rp-archive-page {
        padding: 14px;
    }

    .rp-cat-grid {
        grid-template-columns: 1fr;
    }

    .rp-featured-grid {
        grid-template-columns: 1fr 1fr;
    }

    .rp-archive-grid {
        grid-template-columns: 1fr 1fr;
    }

    .rp-shop-hero {
        padding: 24px 18px;
    }

    .rp-archive-banner-inner {
        padding: 24px 20px;
    }

    .rp-archive-title {
        font-size: 20px;
    }

    .rp-cta-btns {
        flex-direction: column;
    }
}