/* Roham UI — Digikala-inspired storefront layer (loads last)
 *
 * Design System: all brandable values live in --ds-* tokens.
 * Runtime overrides come from themes/roham/site/include/design-tokens.blade.php
 * (options: roham_color_primary, roham_color_secondary, …).
 */
:root,
.roham-theme {
    /* —— Brand —— */
    --ds-color-primary: #ef394e;
    --ds-color-primary-hover: #e6123d;
    --ds-color-primary-soft: rgba(239, 57, 78, 0.08);
    --ds-color-primary-soft-strong: rgba(239, 57, 78, 0.14);
    --ds-color-secondary: #19bfd3;
    --ds-color-secondary-hover: #0f8fa3;
    --ds-color-danger: #ef394e;
    --ds-color-success: #00a049;
    --ds-color-warning: #f9a825;

    /* —— Surfaces —— */
    --ds-color-bg: #f5f5f5;
    --ds-color-surface: #ffffff;
    --ds-color-surface-muted: #f0f0f1;
    --ds-color-surface-subtle: #fafafa;
    --ds-color-border: #e0e0e2;
    --ds-color-border-strong: #c0c2c5;

    /* —— Text (contrast-tuned) —— */
    --ds-color-text: #0c0c0c;
    --ds-color-text-secondary: #424750;
    --ds-color-text-muted: #62666d;
    --ds-color-text-disabled: #a1a3a8;
    --ds-color-text-inverse: #ffffff;
    --ds-color-link: var(--ds-color-secondary);
    --ds-color-link-hover: var(--ds-color-secondary-hover);

    /* —— Shape / elevation —— */
    --ds-radius: 8px;
    --ds-radius-sm: 6px;
    --ds-radius-lg: 12px;
    --ds-radius-xl: 16px;
    --ds-radius-pill: 999px;
    --ds-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);
    --ds-shadow: 0 1px 6px rgba(0, 0, 0, .08);
    --ds-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);
    --ds-shadow-mega: 0 10px 28px rgba(0, 0, 0, .12);

    /* —— Layout —— */
    --ds-header-nav-h: 40px;
    --ds-mega-aside-w: 232px;
    --ds-mega-h: calc(100vh - 128px);
    --ds-bottom-nav-h: 58px;
    --ds-font: Shabnam, Tahoma, sans-serif;

    /* —— Control sizes —— */
    --ds-btn-h: 40px;
    --ds-btn-h-sm: 32px;
    --ds-control-radius: var(--ds-radius);

    /* Legacy aliases (keep existing selectors working) */
    --roham-red: var(--ds-color-primary);
    --roham-red-dark: var(--ds-color-primary-hover);
    --roham-bg: var(--ds-color-bg);
    --roham-surface: var(--ds-color-surface);
    --roham-text: var(--ds-color-text);
    --roham-muted: var(--ds-color-text-muted);
    --roham-border: var(--ds-color-border);
    --roham-cyan: var(--ds-color-secondary);
    --roham-radius: var(--ds-radius);
    --roham-radius-lg: var(--ds-radius-lg);
    --roham-radius-xl: var(--ds-radius-xl);
    --roham-shadow: var(--ds-shadow);
    --roham-bottom-nav-h: var(--ds-bottom-nav-h);
}

.roham-theme {
    background: var(--ds-color-bg);
    color: var(--ds-color-text);
    font-family: var(--ds-font);
}

.roham-theme .page-content.roham-main {
    padding-bottom: calc(var(--ds-bottom-nav-h) + 12px);
}

@media (min-width: 992px) {
    .roham-theme .page-content.roham-main {
        padding-bottom: 0;
    }
}

/* Brand color overrides → primary token */
.roham-theme .btn-primary,
.roham-theme .btn-danger,
.roham-theme .dk-btn-info,
.roham-theme .js-add-subscribe.btn-primary,
.roham-theme .cart-info .btn-danger {
    background-color: var(--ds-color-primary) !important;
    border-color: var(--ds-color-primary) !important;
    color: var(--ds-color-text-inverse) !important;
    border-radius: var(--ds-control-radius);
}

.roham-theme .btn-primary:hover,
.roham-theme .btn-danger:hover,
.roham-theme .dk-btn-info:hover {
    background-color: var(--ds-color-primary-hover) !important;
    border-color: var(--ds-color-primary-hover) !important;
}

.roham-theme .badge-discount,
.roham-theme .product-card .discount,
.roham-theme .product-box .discount,
.roham-theme .price-discount,
.roham-theme .amazing-discount,
.roham-theme span.discount-badge {
    background: var(--ds-color-primary) !important;
    color: var(--ds-color-text-inverse) !important;
    border-radius: var(--ds-radius-pill);
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
}

.roham-theme a,
.roham-theme .link {
    color: var(--ds-color-link);
}

.roham-theme a:hover,
.roham-theme .link:hover {
    color: var(--ds-color-link-hover);
}

.roham-theme .page-header a:not(.btn),
.roham-theme .main-menu a,
.roham-theme .page-footer a {
    color: inherit;
}

/* ========== Viewport scroll ==========
   Always reserve gutter space (no layout jump).
   Thumb stays hidden until hover/scroll — thin Digikala-like pill. */
html.roham-html {
    --roham-scrollbar-size: 8px;
    --roham-scrollbar-thumb: rgba(66, 71, 80, .32);
    --roham-scrollbar-thumb-hover: rgba(66, 71, 80, .48);
    --roham-mheader-sticky-top: 0px;
    direction: rtl;
    overflow-x: clip !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

html.roham-html.is-scrolling,
html.roham-html.is-scrollbar-visible {
    scrollbar-color: var(--roham-scrollbar-thumb) transparent;
}

html.roham-html::-webkit-scrollbar {
    width: var(--roham-scrollbar-size);
    height: var(--roham-scrollbar-size);
}

html.roham-html::-webkit-scrollbar-track {
    background: transparent;
}

html.roham-html::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

html.roham-html.is-scrolling::-webkit-scrollbar-thumb,
html.roham-html.is-scrollbar-visible::-webkit-scrollbar-thumb {
    background: var(--roham-scrollbar-thumb);
    background-clip: padding-box;
    border: 2px solid transparent;
}

html.roham-html.is-scrolling::-webkit-scrollbar-thumb:hover,
html.roham-html.is-scrollbar-visible::-webkit-scrollbar-thumb:hover {
    background: var(--roham-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 2px solid transparent;
}

/* Prefer stable gutter on body too (some engines apply scroll to body) */
body.roham-theme {
    direction: rtl;
    text-align: right;
    overflow-x: clip !important;
    overflow-y: visible !important;
    width: 100%;
    max-width: 100%;
    margin: 0;
    scrollbar-gutter: stable;
}

.roham-theme .page-wrapper {
    overflow-x: clip;
    overflow-y: visible;
    direction: rtl;
    text-align: right;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.roham-theme .page-content.roham-main,
.roham-theme .container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Bootstrap theme bug: at lg+, `.container` padding is zeroed (navbar-expand rule).
   Restore Digikala-like gutters so content never hugs the viewport edges. */
.roham-theme .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    .roham-theme .container {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

@media (min-width: 1200px) {
    .roham-theme .page-content.roham-main > .container,
    .roham-theme .container {
        max-width: 1336px;
    }
}

/* Demo / red notice — hide as soon as page is scrolled */
.roham-theme .roham-demo-banner,
.roham-theme .site-notification {
    transition: max-height .2s ease, opacity .15s ease, padding .2s ease, margin .2s ease;
    max-height: 120px;
    overflow: hidden;
}

body.roham-page-scrolled .roham-demo-banner,
body.roham-page-scrolled .site-notification {
    max-height: 0 !important;
    opacity: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    border: none !important;
    pointer-events: none;
    visibility: hidden;
}

.roham-theme .page-header {
    background: var(--ds-color-surface);
    box-shadow: 0 1px 0 var(--ds-color-border);
    position: relative;
    top: auto;
    z-index: 1100;
    overflow: visible !important;
    width: 100%;
    transition: box-shadow .2s ease, padding .2s ease;
}

.roham-theme .page-header.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .1);
}

.roham-theme .roham-header-spacer {
    display: none;
    width: 100%;
}

.roham-theme .roham-header-spacer.is-on {
    display: block;
}

body.roham-header-scrolled .page-header .top-header-wrapper {
    padding: 10px 0 8px !important;
}

/* Logo must NOT shrink on scroll */
body.roham-header-scrolled .page-header .site-brand,
body.roham-header-scrolled .page-header .site-brand a,
body.roham-header-scrolled .page-header .site-brand img {
    width: auto !important;
    height: 44px !important;
    max-height: 44px !important;
    max-width: none !important;
    flex-shrink: 0 !important;
    transform: none !important;
}

body.roham-header-scrolled .page-header .search-box input[type="text"],
body.roham-header-scrolled .page-header .search-box input[type="search"] {
    height: 44px;
}

.roham-theme .page-header .container {
    overflow: visible !important;
}

.roham-theme .page-header .top-header-wrapper {
    overflow: visible !important;
    position: relative;
    z-index: 1200;
}

.roham-theme .top-header-wrapper {
    border-bottom: none;
    padding: 12px 0 10px !important;
}

.roham-theme .top-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.roham-theme .site-brand--search-box {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.roham-theme .site-brand {
    flex: 0 0 auto;
    flex-shrink: 0;
    line-height: 0;
    margin-left: 0 !important;
    justify-content: flex-start !important;
}

.roham-theme .site-brand a {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.roham-theme .site-brand img,
.roham-theme .site-brand img.roham-site-logo {
    display: block;
    height: 44px !important;
    max-height: 44px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain;
    flex-shrink: 0;
    transform: none !important;
}

.roham-theme .search-box {
    flex: 1;
    max-width: 600px;
}

.roham-theme .search-box form {
    position: relative;
    background: #f0f0f1 !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: none !important;
}

/* Beat legacy theme.css square input — Digikala pill trigger */
.roham-theme header.page-header .top-header-wrapper .top-header .site-brand--search-box .search-box form,
.roham-theme .header-responsive .header-bottom .search-box form {
    background: #f0f0f1 !important;
    border-radius: 999px !important;
    border: none !important;
}

.roham-theme .search-box input[type="text"],
.roham-theme .search-box input[type="search"],
.roham-theme header.page-header .top-header-wrapper .top-header .site-brand--search-box .search-box form input,
.roham-theme .header-responsive .header-bottom .search-box form input {
    background: transparent !important;
    border: none !important;
    height: 44px !important;
    padding: 0 44px 0 16px !important;
    font-size: 12px !important;
    color: var(--ds-color-text);
    width: 100%;
    border-radius: 999px !important;
    box-shadow: none !important;
    cursor: pointer;
}

.roham-theme .search-box .fa-search,
.roham-theme .search-box .fal.fa-search,
.roham-theme header.page-header .top-header-wrapper .top-header .site-brand--search-box .search-box form i {
    position: absolute !important;
    right: 14px !important;
    left: auto !important;
    top: 50%;
    transform: translateY(-50%);
    color: #a1a3a8 !important;
    font-size: 18px !important;
    pointer-events: none;
}

.roham-theme .roham-search-trigger-input {
    cursor: pointer;
}

.roham-theme .search-box[data-roham-search-open] {
    cursor: pointer;
}

/* Kill legacy empty dropdown shell if any leftover CSS shows */
.roham-theme .search-box .search-result,
.roham-theme .search-box.show-result .search-result {
    display: none !important;
}

.roham-theme .search-box.show-result form input {
    border-radius: 999px !important;
}

/* Nav row: categories (right) + delivery (left) — Digikala 2nd row */
.roham-theme .roham-nav-row {
    border-top: 1px solid #f0f0f1;
    position: relative;
    z-index: 1000; /* below top-header / mini-cart so border doesn't cut the dropdown */
}

.roham-theme .roham-nav-row-inner {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 24px;
    min-height: var(--ds-header-nav-h);
    height: var(--ds-header-nav-h);
    position: relative;
}

.roham-theme .roham-nav-row .roham-main-nav {
    flex: 1;
    min-width: 0;
}

.roham-theme .roham-nav-delivery {
    flex: 0 1 auto;
    max-width: min(260px, 30%);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    margin-right: auto;
    height: 100%;
}

/* ========== Digikala-style search modal ========== */
.roham-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 16px 24px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease;
}

.roham-search-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

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

.roham-search-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .48);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.roham-search-modal {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    max-height: min(780px, calc(100vh - 64px));
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: roham-search-in .18s ease;
}

@keyframes roham-search-in {
    from {
        opacity: 0;
        transform: translateY(-12px) scale(.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.roham-search-modal-form {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 16px 8px;
    border-bottom: none;
    flex-shrink: 0;
}

.roham-search-modal-field {
    position: relative;
    flex: 1;
    min-width: 0;
}

.roham-search-modal-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #81858b;
    font-size: 20px;
    pointer-events: none;
}

.roham-search-modal-input {
    width: 100%;
    height: 48px;
    border: none !important;
    outline: none !important;
    background: #f0f0f1 !important;
    border-radius: 999px !important;
    padding: 0 44px 0 40px !important;
    font-size: 14px !important;
    color: #0c0c0c !important;
    box-shadow: none !important;
}

.roham-search-modal-input::placeholder {
    color: #a1a3a8;
}

.roham-search-modal-clear {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #a1a3a8;
    font-size: 18px;
    line-height: 1;
    padding: 4px;
    cursor: pointer;
}

.roham-search-modal-clear:hover {
    color: #424750;
}

.roham-search-modal-close {
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: #424750;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 4px;
    cursor: pointer;
    white-space: nowrap;
}

.roham-search-modal-close:hover {
    color: #ef394e;
}

.roham-search-modal-body {
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 4px 0 16px;
    scrollbar-width: thin;
    scrollbar-color: rgba(66, 71, 80, .25) transparent;
}

.roham-search-modal-body::-webkit-scrollbar {
    width: 4px;
}

.roham-search-modal-body::-webkit-scrollbar-thumb {
    background: rgba(66, 71, 80, .25);
    border-radius: 999px;
}

.roham-search-section {
    padding: 14px 20px 10px;
}

.roham-search-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.roham-search-section-head h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-search-section-action {
    border: none;
    background: transparent;
    color: #81858b;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    padding: 0;
}

.roham-search-section-action:hover {
    color: #ef394e;
}

.roham-search-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.roham-search-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e0e0e2;
    color: #3f4064 !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    transition: background .12s ease, border-color .12s ease, color .12s ease;
}

.roham-search-chip i {
    font-size: 14px;
    color: #81858b;
}

.roham-search-chip:hover {
    background: #f7f7f8;
    border-color: #c0c2c5;
    color: #0c0c0c !important;
}

.roham-search-chip--trend i {
    color: #ef394e;
}

.roham-search-empty-hint {
    font-size: 12px;
    color: #a1a3a8;
}

.roham-search-promo {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 20px 8px;
    min-height: 132px;
    padding: 18px;
    border-radius: 16px;
    text-decoration: none !important;
    background:
        linear-gradient(115deg, rgba(20, 20, 30, .55), rgba(20, 20, 30, .2)),
        linear-gradient(135deg, #5c4033 0%, #a15c38 40%, #ef394e 100%);
    background-size: cover;
    background-position: center;
    color: #fff !important;
    overflow: hidden;
    position: relative;
}

.roham-search-promo-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 70%;
    z-index: 1;
}

.roham-search-promo-copy strong {
    font-size: 16px;
    font-weight: 800;
}

.roham-search-promo-copy span {
    font-size: 12px;
    opacity: .92;
}

.roham-search-promo-cta {
    z-index: 1;
    background: #0c0c0c;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 18px;
    border-radius: 999px;
    flex-shrink: 0;
}

.roham-search-promo:hover .roham-search-promo-cta {
    background: #222;
}

.roham-search-live {
    padding: 0 0 8px;
}

.roham-search-suggest {
    list-style: none;
    margin: 0;
    padding: 0;
}

.roham-search-suggest-item {
    border-bottom: 1px solid #f0f0f1;
}

.roham-search-suggest-item:last-child {
    border-bottom: none;
}

.roham-search-suggest-link {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 11px 16px;
    text-decoration: none !important;
    color: var(--ds-color-text) !important;
    transition: background .12s ease;
}

.roham-search-suggest-link:hover {
    background: #f5f5f5;
}

.roham-search-suggest-link > i {
    flex-shrink: 0;
    width: 20px;
    text-align: center;
    font-size: 16px;
    color: #a1a3a8;
}

.roham-search-suggest-text {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.roham-search-suggest-text strong {
    color: var(--ds-color-secondary);
    font-weight: 700;
}

.roham-search-suggest-hint {
    flex-shrink: 0;
    max-width: 38%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 500;
    color: var(--ds-color-secondary);
    text-align: left;
}

.roham-search-products-wrap {
    margin-top: 4px;
    border-top: 1px solid #f0f0f1;
    padding-top: 4px;
}

.roham-search-products-head {
    padding: 10px 16px 6px;
    font-size: 12px;
    font-weight: 700;
    color: var(--ds-color-text-muted);
}

.roham-search-live-products {
    list-style: none;
    margin: 0;
    padding: 0 8px 4px;
}

.roham-search-product-item a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 8px;
    border-radius: 10px;
    text-decoration: none !important;
    color: var(--ds-color-text) !important;
    transition: background .12s ease;
}

.roham-search-product-item a:hover {
    background: #f5f5f5;
}

.roham-search-product-thumb {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 8px;
    border: 1px solid var(--ds-color-border);
    background: #fff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.roham-search-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.roham-search-product-meta {
    flex: 1;
    min-width: 0;
}

.roham-search-product-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.55;
    font-weight: 500;
}

.roham-search-product-item a > i {
    flex-shrink: 0;
    color: #c0c2c5;
    font-size: 18px;
}

.roham-search-live-empty {
    padding: 32px 16px;
    text-align: center;
    color: var(--ds-color-text-muted);
    font-size: 13px;
}

@media (max-width: 991.98px) {
    .roham-search-overlay {
        padding: 0;
        align-items: stretch;
        z-index: 10060;
    }

    .roham-search-modal {
        width: 100%;
        max-height: none;
        height: 100%;
        border-radius: 0;
        animation: none;
    }

    .roham-search-modal-form {
        padding: calc(12px + env(safe-area-inset-top, 0px)) 12px 12px;
    }

    .roham-search-modal-input {
        height: 44px;
    }

    .roham-search-modal-body {
        padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    }

    .roham-search-promo {
        min-height: 100px;
        margin: 12px 12px 8px;
    }
}

/* Hide floating bottom nav while search owns the screen */
html.roham-search-open .roham-bottom-nav,
html.roham-detail-sheet-open .roham-bottom-nav,
html.roham-sellers-sheet-open .roham-bottom-nav,
body.roham-mcat-open .roham-bottom-nav {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(120%);
}

html.roham-search-open .roham-pdp-sticky,
html.roham-detail-sheet-open .roham-pdp-sticky,
html.roham-sellers-sheet-open .roham-pdp-sticky,
html.roham-search-open .roham-pdp-mbar,
html.roham-search-open .roham-pdp-mtabs.is-stuck {
    display: none !important;
}

/* Detail sheet owns the screen — hide PDP chrome underneath */
html.roham-detail-sheet-open .roham-pdp-mbar,
html.roham-detail-sheet-open .roham-pdp-mtabs,
html.roham-detail-sheet-open .roham-pdp-mbar-spacer,
html.roham-detail-sheet-open .header-responsive,
html.roham-detail-sheet-open .roham-bottom-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Mobile PDP: hide site footer — Digikala ends with SKU only */
@media (max-width: 991.98px) {
    html.roham-pdp-page .page-footer.roham-footer,
    body.roham-pdp-page .page-footer.roham-footer {
        display: none !important;
    }
}

/* Mobile PDP product ID — Digikala: compact inline row, no full-width card */
.roham-pdp-sku {
    display: none;
}

@media (max-width: 991.98px) {
    .roham-pdp-sku {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
        width: auto;
        max-width: 100%;
        margin: 16px auto 8px;
        padding: 0 16px;
        background: transparent;
        border: 0;
        box-shadow: none;
        border-radius: 0;
    }

    .roham-pdp-sku-label {
        font-size: 12px;
        font-weight: 500;
        color: #81858b;
        line-height: 1.6;
        white-space: nowrap;
    }

    .roham-pdp-sku-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        width: auto;
        max-width: 100%;
        margin: 0;
        padding: 6px 10px;
        border: 0;
        border-radius: 8px;
        background: #f0f0f1;
        color: #424750;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.4;
        cursor: pointer;
        direction: ltr;
        box-shadow: none;
    }

    .roham-pdp-sku-btn i {
        font-size: 13px;
        color: #81858b;
    }

    .roham-pdp-sku-btn.is-copied {
        background: rgba(0, 160, 73, .12);
        color: #00a049;
    }

    .roham-pdp-sku-btn.is-copied i {
        color: #00a049;
    }
}

/* ========== Delivery address picker (Digikala-style) ========== */
.roham-theme .roham-delivery-bar--mobile {
    border-top: none;
    padding: 0;
}

.roham-theme .roham-delivery-trigger {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: 100%;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    color: #0c0c0c;
    font-size: 12px;
    line-height: 1.3;
    text-align: right;
}

.roham-theme .roham-nav-delivery .roham-delivery-trigger {
    max-width: 100%;
    height: 40px;
    line-height: 40px;
}

.roham-theme .roham-delivery-trigger > .ri-map-pin-2-line {
    color: #0c0c0c;
    font-size: 18px;
    flex-shrink: 0;
}

.roham-theme .roham-delivery-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 400;
    color: #0c0c0c;
}

.roham-theme .roham-delivery-caret {
    display: none;
}

.roham-theme .roham-nav-delivery .roham-delivery-caret {
    display: none;
}

.roham-theme .roham-delivery-trigger:hover,
.roham-theme .roham-delivery-trigger:hover .roham-delivery-label,
.roham-theme .roham-delivery-trigger:hover > .ri-map-pin-2-line {
    color: var(--ds-color-primary);
}

.roham-address-overlay {
    position: fixed;
    inset: 0;
    z-index: 2100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
}

.roham-address-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

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

.roham-address-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 12, 12, .45);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.roham-address-sheet {
    position: relative;
    z-index: 1;
    width: min(440px, 100%);
    max-height: min(640px, calc(100vh - 48px));
    background: var(--ds-color-surface);
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: roham-address-in .2s ease;
}

@keyframes roham-address-in {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.roham-address-handle {
    display: none;
    justify-content: center;
    padding: 10px 0 0;
}

.roham-address-handle span {
    width: 40px;
    height: 4px;
    border-radius: 999px;
    background: #e0e0e2;
}

.roham-address-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 16px 12px;
    border-bottom: 1px solid var(--ds-color-border);
    flex-shrink: 0;
}

.roham-address-sheet-head h2 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--ds-color-text);
}

.roham-address-close {
    border: none;
    background: transparent;
    color: #81858b;
    font-size: 22px;
    line-height: 1;
    padding: 2px;
    cursor: pointer;
}

.roham-address-close:hover {
    color: var(--ds-color-text);
}

.roham-address-sheet-body {
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 14px 16px 18px;
    scrollbar-width: thin;
    scrollbar-color: rgba(66, 71, 80, .28) transparent;
}

.roham-address-sheet-body::-webkit-scrollbar {
    width: 4px;
}

.roham-address-sheet-body::-webkit-scrollbar-thumb {
    background: rgba(66, 71, 80, .28);
    border-radius: 999px;
}

.roham-address-map-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 52px;
    margin-bottom: 16px;
    border: 1.5px dashed #c0c2c5;
    border-radius: 12px;
    color: var(--ds-color-text-secondary) !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    background: var(--ds-color-surface-subtle);
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.roham-address-map-cta i {
    font-size: 20px;
    color: var(--ds-color-secondary);
}

.roham-address-map-cta:hover {
    border-color: var(--ds-color-secondary);
    color: var(--ds-color-secondary) !important;
    background: #fff;
}

.roham-address-section-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--ds-color-text);
    margin-bottom: 10px;
}

.roham-address-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.roham-address-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    text-align: right;
    border: 1.5px solid var(--ds-color-border);
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, color .15s ease;
    color: var(--ds-color-text-secondary);
}

.roham-address-item-icon {
    font-size: 18px;
    color: #a1a3a8;
    margin-top: 2px;
    flex-shrink: 0;
}

.roham-address-item-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.roham-address-item-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--ds-color-text);
    line-height: 1.35;
}

.roham-address-item-detail {
    font-size: 11px;
    line-height: 1.55;
    color: #81858b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.roham-address-item-check {
    display: none;
    color: var(--ds-color-secondary);
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 2px;
}

.roham-address-item:hover {
    border-color: #c0c2c5;
}

.roham-address-item.is-active {
    border-color: var(--ds-color-secondary);
    box-shadow: 0 0 0 1px var(--ds-color-secondary);
    color: var(--ds-color-secondary);
}

.roham-address-item.is-active .roham-address-item-icon,
.roham-address-item.is-active .roham-address-item-title {
    color: var(--ds-color-secondary);
}

.roham-address-item.is-active .roham-address-item-check {
    display: block;
}

.roham-address-item.is-loading {
    opacity: .65;
    pointer-events: none;
}

.roham-address-manage {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-top: 14px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ds-color-secondary) !important;
    text-decoration: none !important;
}

.roham-address-empty,
.roham-address-guest {
    text-align: center;
    padding: 28px 12px 16px;
    color: var(--ds-color-text-muted);
}

.roham-address-empty i,
.roham-address-guest i {
    display: block;
    font-size: 36px;
    color: #c0c2c5;
    margin-bottom: 10px;
}

.roham-address-empty p,
.roham-address-guest p {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.6;
}

.roham-address-empty-btn,
.roham-address-guest-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--ds-color-primary);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 700;
}

.roham-address-empty-btn:hover,
.roham-address-guest-btn:hover {
    background: var(--ds-color-primary-hover);
    color: #fff !important;
}

@media (max-width: 991.98px) {
    .roham-address-overlay {
        align-items: flex-end;
        padding: 0;
    }

    .roham-address-sheet {
        width: 100%;
        max-height: min(88vh, 720px);
        border-radius: 16px 16px 0 0;
        animation: roham-address-sheet-up .22s ease;
    }

    @keyframes roham-address-sheet-up {
        from {
            transform: translateY(100%);
        }
        to {
            transform: translateY(0);
        }
    }

    .roham-address-handle {
        display: flex;
    }

    .roham-address-sheet-head {
        padding-top: 8px;
    }
}

.roham-theme .user-items {
    display: flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 1200;
    overflow: visible !important;
}

.roham-theme .user-item {
    margin-right: 0 !important;
}

.roham-theme .user-item.account > a:not(.roham-account-btn) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px !important;
    border: 1px solid #e0e0e2 !important;
    border-radius: 8px !important;
    font-size: 12px;
    font-weight: 500;
    color: #0c0c0c !important;
    text-decoration: none;
    background: #fff !important;
    height: 40px;
    box-sizing: border-box;
}

.roham-theme .user-item.account > a:not(.roham-account-btn) .icon,
.roham-theme .user-item.account > a:not(.roham-account-btn) i {
    font-size: 18px;
    color: #0c0c0c;
}

.roham-theme .user-item.cart {
    border-right: 1px solid #e0e0e2 !important;
    margin-right: 12px !important;
    padding-right: 12px;
    position: relative;
    z-index: 1300;
}

.roham-theme .user-item.cart > a.dropdown--btn,
.roham-theme .user-item.cart > a.roham-minicart-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 8px !important;
    background: transparent !important;
    color: #424750 !important;
    border-radius: 8px;
    position: relative;
    font-size: 0;
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    text-decoration: none !important;
}

.roham-theme .user-item.cart > a.dropdown--btn:hover,
.roham-theme .user-item.cart.is-open > a.dropdown--btn,
.roham-theme .user-item.cart.open > a.dropdown--btn {
    background: #f0f0f1 !important;
}

.roham-theme .user-item.cart > a.dropdown--btn i {
    font-size: 24px !important;
    margin: 0 !important;
    color: #424750 !important;
    line-height: 1;
}

.roham-theme .user-item.cart .cart-count {
    position: absolute !important;
    top: 2px !important;
    left: 0 !important;
    right: auto !important;
    background: var(--ds-color-primary, #ef394e) !important;
    color: #fff !important;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    font-size: 10px !important;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    padding: 0 4px;
    z-index: 2;
}

/* Digikala mini-cart panel */
.roham-theme header.page-header .top-header-wrapper .top-header .user-items .user-item.cart .cart-items-wrapper,
.roham-theme .user-item.cart .roham-minicart.cart-items-wrapper,
.roham-theme .user-item.cart .roham-minicart {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: auto !important;
    width: 400px !important;
    max-width: min(400px, calc(100vw - 24px));
    background: #fff !important;
    background-color: #fff !important;
    border: 1px solid #e0e0e2;
    border-radius: 12px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .12) !important;
    z-index: 1400 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
    transform: translateY(4px);
    transition: opacity .15s ease, visibility .15s ease, transform .15s ease;
}

.roham-theme .user-item.cart:hover .roham-minicart,
.roham-theme .user-item.cart:hover .cart-items-wrapper,
.roham-theme .user-item.cart.is-open .roham-minicart,
.roham-theme .user-item.cart.is-open .cart-items-wrapper,
.roham-theme .user-item.cart.open .roham-minicart,
.roham-theme .user-item.cart.open .cart-items-wrapper,
.roham-theme header.page-header .top-header-wrapper .top-header .user-items .user-item.cart:hover .cart-items-wrapper {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0);
}

.roham-theme .roham-minicart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 10px;
    background: #fff;
}

.roham-theme .roham-minicart-head-title {
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-theme .roham-minicart-head-count {
    font-size: 12px;
    font-weight: 500;
    color: #81858b;
}

.roham-theme header.page-header .top-header-wrapper .top-header .user-items .user-item.cart .cart-items-wrapper .cart-items,
.roham-theme .roham-minicart-list {
    list-style: none;
    margin: 0 !important;
    padding: 0 8px !important;
    max-height: 320px;
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
    scrollbar-width: thin;
    border-bottom: none !important;
}

.roham-theme header.page-header .top-header-wrapper .top-header .user-items .user-item.cart .cart-items-wrapper .cart-items .cart-item,
.roham-theme .roham-minicart-item {
    position: relative;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 12px 8px !important;
    border-bottom: 1px solid #f0f0f1 !important;
    background: #fff;
}

/* Kill double line: last item must not keep border when foot also has border-top */
.roham-theme header.page-header .top-header-wrapper .top-header .user-items .user-item.cart .cart-items-wrapper .cart-items .cart-item:last-child,
.roham-theme .roham-minicart-item:last-child {
    border-bottom: none !important;
}

.roham-theme header.page-header .top-header-wrapper .top-header .user-items .user-item.cart .cart-items-wrapper .cart-info,
.roham-theme .roham-minicart-foot {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px 16px !important;
    margin: 0 !important;
    border-top: 1px solid #f0f0f1 !important;
    border-bottom: none !important;
    background: #fff !important;
    box-shadow: none !important;
}

.roham-theme .roham-minicart-thumb {
    display: block;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    flex-shrink: 0;
}

.roham-theme .roham-minicart-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: contain;
}

.roham-theme .roham-minicart-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.roham-theme .roham-minicart-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.7;
    color: #0c0c0c !important;
    text-decoration: none !important;
}

.roham-theme .roham-minicart-variants {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    font-size: 11px;
    color: #81858b;
}

.roham-theme .roham-minicart-qty {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 102px;
    height: 36px;
    padding: 0 4px;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    background: #fff;
}

.roham-theme .roham-minicart-qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 0;
    background: transparent;
    color: var(--ds-color-primary, #ef394e);
    font-size: 18px;
    cursor: pointer;
    padding: 0;
    border-radius: 6px;
}

.roham-theme .roham-minicart-qty-btn:hover {
    background: #fff0f2;
}

.roham-theme .roham-minicart-qty-btn:disabled {
    color: #c0c2c5;
    cursor: default;
    background: transparent;
}

.roham-theme .roham-minicart-qty-trash {
    color: var(--ds-color-primary, #ef394e);
}

.roham-theme .roham-minicart-qty-input {
    width: 28px;
    border: 0 !important;
    background: transparent !important;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #0c0c0c;
    padding: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    pointer-events: none;
}

.roham-theme .roham-minicart-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    min-width: 96px;
    text-align: left;
}

.roham-theme .roham-minicart-price-old {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.roham-theme .roham-minicart-price-old del {
    font-size: 11px;
    color: #a1a3a8;
    text-decoration: line-through;
}

.roham-theme .roham-minicart-discount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--ds-color-primary, #ef394e);
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.roham-theme .roham-minicart-price-final {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: #0c0c0c;
}

.roham-theme .roham-minicart-price-final strong {
    font-size: 14px;
    font-weight: 700;
}

.roham-theme .roham-minicart-price-final span {
    font-size: 10px;
    color: #81858b;
}

.roham-theme .roham-minicart-foot > div {
    text-align: right !important;
    margin: 0 !important;
}

.roham-theme .roham-minicart-total {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
}

.roham-theme .roham-minicart-total-price {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
}

.roham-theme .roham-minicart-total-price strong {
    font-size: 16px;
    font-weight: 800;
    color: #0c0c0c;
}

.roham-theme .roham-minicart-total-price span {
    font-size: 11px;
    color: #81858b;
}

.roham-theme .roham-minicart-cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    height: 48px;
    padding: 0 20px;
    border-radius: 8px;
    background: var(--ds-color-primary, #ef394e) !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    border: 0;
    box-shadow: none !important;
}

.roham-theme .roham-minicart-cta:hover {
    filter: brightness(.96);
    color: #fff !important;
}

.roham-theme .roham-minicart-item.is-removing {
    opacity: .45;
    pointer-events: none;
    transition: opacity .15s ease;
}

.roham-theme .roham-minicart-qty-trash.is-loading {
    opacity: .5;
    pointer-events: none;
}

/* Digikala empty mini-cart */
.roham-theme .roham-minicart.is-empty {
    min-height: 0;
}

.roham-theme .roham-minicart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 28px 24px 32px;
    text-align: center;
    background: #fff;
}

.roham-theme .roham-minicart-empty-art {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 148px;
    height: 132px;
    margin-bottom: 4px;
}

.roham-theme .roham-minicart-empty-art svg {
    display: block;
    width: 132px;
    height: 116px;
}

.roham-theme .roham-minicart-empty-text {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.7;
}

.roham-theme .roham-minicart-empty-hint {
    margin: 0;
    max-width: 260px;
    font-size: 12px;
    font-weight: 400;
    color: #81858b;
    line-height: 1.8;
}

.roham-theme .roham-minicart-empty-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 8px;
    background: #ef4056;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}

.roham-theme .roham-minicart-empty-cta:hover {
    filter: brightness(.96);
    color: #fff !important;
}

.roham-theme .roham-minicart-empty-link {
    margin-top: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #19bfd3 !important;
    text-decoration: none !important;
}

/* Hide legacy absolute X remove in Digikala layout */
.roham-theme .roham-minicart-item > .remove-item {
    display: none !important;
}

@media (max-width: 991.98px) {
    .roham-theme .user-item.cart .roham-minicart,
    .roham-theme .user-item.cart .cart-items-wrapper {
        display: none !important;
    }
}

/* Account dropdown Digikala style */
.roham-theme .user-item.account {
    position: relative;
    z-index: 1210;
}

.roham-theme header.page-header .top-header-wrapper .top-header .user-items .user-item.account > a.roham-account-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 0;
    padding: 6px !important;
    border: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #424750 !important;
    text-decoration: none;
    transition: background .15s ease;
    line-height: 1 !important;
    height: 40px !important;
    width: auto;
    position: relative;
    z-index: 2;
}

.roham-theme .user-item.account .roham-account-btn:hover,
.roham-theme .user-item.account.is-open .roham-account-btn,
.roham-theme .user-item.account.open .roham-account-btn {
    border-color: transparent !important;
    box-shadow: none !important;
    background: #f0f0f1 !important;
}

.roham-theme .roham-account-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #424750;
    font-size: 22px;
}

.roham-theme .roham-account-caret {
    font-size: 16px;
    color: #81858b;
    transition: transform .18s ease;
    margin-right: -2px;
}

.roham-theme .user-item.account.is-open .roham-account-caret,
.roham-theme .user-item.account.open .roham-account-caret {
    transform: rotate(180deg);
}

/*
 * Outer shell sits flush under the button (no hover gap).
 * Visual card lives inside .roham-account-panel with padding-top as hit-area.
 */
.roham-theme .user-item.account .dropdown--wrapper.roham-account-menu,
.roham-theme .roham-account-menu.dropdown--wrapper {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    width: 264px;
    min-width: 0;
    max-width: none;
    padding: 6px 0 0;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible !important;
    max-height: none !important;
    z-index: 1200;
    list-style: none;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
}

.roham-theme .user-item.account.is-open .roham-account-menu,
.roham-theme .user-item.account.open .roham-account-menu,
.roham-theme .user-item.account:hover .roham-account-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.roham-theme .roham-account-panel {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, .08), 0 4px 20px rgba(0, 0, 0, .1);
    border: 1px solid #e0e0e2;
    overflow: hidden;
    max-height: none;
    overflow-x: hidden;
    overflow-y: visible;
    scrollbar-width: none;
    animation: roham-account-in .14s ease;
}

.roham-theme .roham-account-panel::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

@keyframes roham-account-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.roham-theme .roham-account-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    text-decoration: none !important;
    border-bottom: 1px solid #f0f0f1;
    background: #fff;
}

.roham-theme .roham-account-head:hover .roham-account-head-meta span {
    color: #0f8fa3;
}

.roham-theme .roham-account-head-avatar {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: #f0f0f1;
}

.roham-theme .roham-account-head-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.roham-theme .roham-account-head-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.roham-theme .roham-account-head-meta strong {
    font-size: 13px;
    color: #0c0c0c;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.roham-theme .roham-account-head-meta span {
    font-size: 11px;
    color: #19bfd3;
    display: inline-flex;
    align-items: center;
    gap: 1px;
    font-weight: 500;
    transition: color .15s;
    line-height: 1.3;
}

.roham-theme .roham-account-group {
    padding: 4px 0;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-account-group--last {
    border-bottom: none;
    padding-bottom: 4px;
}

.roham-theme .roham-account-item {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 7px 12px !important;
    color: #3f4064 !important;
    text-decoration: none !important;
    font-size: 12px;
    line-height: 1.35;
    transition: background .12s ease, color .12s ease;
    margin: 0 !important;
    border-radius: 0;
    font-weight: 500;
}

.roham-theme .roham-account-item i {
    font-size: 18px;
    color: #81858b;
    width: 20px;
    text-align: center;
    margin: 0 !important;
    flex-shrink: 0;
    transition: color .12s ease;
}

.roham-theme .roham-account-item:hover {
    background: #f5f5f5;
    color: #0c0c0c !important;
}

.roham-theme .roham-account-item:hover i {
    color: #424750;
}

.roham-theme .roham-account-logout {
    color: #ef394e !important;
}

.roham-theme .roham-account-logout i {
    color: #ef394e;
}

.roham-theme .roham-account-logout:hover {
    background: #fff5f6;
    color: #ef394e !important;
}

.roham-theme .roham-account-logout:hover i {
    color: #ef394e;
}

/* ========== Mega menu (Digikala smart panel) ========== */
.roham-theme header.page-header nav.main-menu {
    overflow: visible !important;
    position: static !important;
    z-index: 1050;
    flex: 1;
    min-width: 0;
}

.roham-theme header.page-header nav.main-menu > ul,
.roham-theme .roham-nav-list {
    display: flex !important;
    align-items: stretch;
    flex-wrap: nowrap;
    overflow: visible !important;
    position: static !important;
    padding: 0;
    margin: 0;
    list-style: none;
    width: auto;
    max-width: 100%;
    height: var(--ds-header-nav-h);
}

.roham-theme header.page-header nav.main-menu > ul > li {
    flex: 0 0 auto;
    margin-left: 2px;
    margin-right: 0;
    position: static !important;
    display: flex;
    align-items: stretch;
    height: 100%;
}

.roham-theme header.page-header nav.main-menu > ul > li > a {
    display: inline-flex !important;
    align-items: center;
    align-self: stretch;
    gap: 6px;
    padding: 0 10px;
    font-size: 12px;
    color: #62666d !important;
    white-space: nowrap;
    text-decoration: none;
    line-height: 1 !important;
    font-weight: 400;
    height: 100%;
    box-sizing: border-box;
    border-bottom: 2px solid transparent;
    margin: 0 !important;
}

.roham-theme .roham-cat-trigger {
    /* Mega anchors to .roham-nav-row-inner (full container width) */
    position: static !important;
}

.roham-theme .roham-cat-trigger-link svg,
.roham-theme .roham-cat-trigger-link i {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 1 !important;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.roham-theme .roham-cat-trigger-link {
    font-weight: 700 !important;
    color: var(--ds-color-text-secondary) !important;
}

.roham-theme .roham-cat-trigger:hover > .roham-cat-trigger-link,
.roham-theme .roham-cat-trigger-link:hover,
.roham-theme .roham-cat-trigger.is-open > .roham-cat-trigger-link {
    color: var(--ds-color-primary) !important;
    border-bottom-color: var(--ds-color-primary) !important;
}

/* Kill legacy theme mega backdrop completely */
.roham-theme header.page-header nav.main-menu > ul > li.category-list:before,
.roham-theme header.page-header nav.main-menu > ul > li.category-list:hover:before {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    box-shadow: none !important;
    background: none !important;
}

/* Digikala-like mega: tall fixed panel, clear hierarchy, thin scroll */
.roham-theme .roham-mega {
    --mega-cols: 4;
    --mega-max-h: var(--ds-mega-h);
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    width: 100%;
    height: var(--mega-max-h);
    max-height: var(--mega-max-h);
    background: var(--ds-color-surface);
    border-radius: 0 0 var(--ds-radius-lg) var(--ds-radius-lg);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .1);
    border: 1px solid var(--ds-color-border);
    border-top: none;
    z-index: 1300;
    overflow: hidden;
    grid-template-columns: var(--ds-mega-aside-w) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
}

.roham-theme .roham-mega::before {
    content: "";
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    height: 12px;
}

.roham-theme .roham-cat-trigger:hover > .roham-mega,
.roham-theme .roham-cat-trigger.is-open > .roham-mega {
    display: grid;
}

.roham-theme .roham-mega-scroll {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

.roham-theme .roham-mega-scroll:hover,
.roham-theme .roham-mega-scroll:focus-within,
.roham-theme .roham-mega-scroll.is-scrolling {
    scrollbar-color: rgba(66, 71, 80, .3) transparent;
}

.roham-theme .roham-mega-scroll::-webkit-scrollbar {
    width: 4px;
}

.roham-theme .roham-mega-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.roham-theme .roham-mega-scroll::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
}

.roham-theme .roham-mega-scroll:hover::-webkit-scrollbar-thumb,
.roham-theme .roham-mega-scroll:focus-within::-webkit-scrollbar-thumb,
.roham-theme .roham-mega-scroll.is-scrolling::-webkit-scrollbar-thumb {
    background: rgba(66, 71, 80, .3);
}

.roham-theme .roham-mega-aside {
    background: var(--ds-color-surface-muted);
    border-left: 1px solid var(--ds-color-border);
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 0;
    height: 100%;
}

.roham-theme .roham-mega-cats {
    list-style: none;
    margin: 0;
    padding: 0;
}

.roham-theme .roham-mega-cat {
    position: relative;
}

.roham-theme .roham-mega-cat-link {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 10px 14px 10px 10px !important;
    min-height: 52px;
    color: var(--ds-color-text) !important;
    font-size: 13px;
    text-decoration: none !important;
    line-height: 1.3 !important;
    border: none !important;
    background: transparent;
    transition: background .12s ease, color .12s ease;
    font-weight: 500;
    box-sizing: border-box;
}

.roham-theme .roham-mega-cat-media {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .04);
}

.roham-theme .roham-mega-cat-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 3px;
}

.roham-theme .roham-mega-cat-fallback {
    font-size: 14px;
    font-weight: 700;
    color: #81858b;
    line-height: 1;
}

.roham-theme .roham-mega-cat-label {
    flex: 1;
    min-width: 0;
    line-height: 1.35;
}

.roham-theme .roham-mega-cat-link i {
    color: #a1a3a8;
    font-size: 18px;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    line-height: 1 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.roham-theme .roham-mega-cat.is-active .roham-mega-cat-link,
.roham-theme .roham-mega-cat:hover .roham-mega-cat-link {
    background: var(--ds-color-surface) !important;
    color: var(--ds-color-primary) !important;
    font-weight: 700;
}

.roham-theme .roham-mega-cat.is-active .roham-mega-cat-media {
    box-shadow: 0 0 0 1.5px var(--ds-color-primary-soft-strong);
}

.roham-theme .roham-mega-cat.is-active .roham-mega-cat-fallback,
.roham-theme .roham-mega-cat:hover .roham-mega-cat-fallback {
    color: var(--ds-color-primary);
}

.roham-theme .roham-mega-cat.is-active::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    left: auto;
    bottom: auto;
    transform: translateY(-50%);
    width: 3px;
    height: 28px;
    border-radius: 3px 0 0 3px;
    background: var(--ds-color-primary);
}

.roham-theme .roham-mega-cat.is-active .roham-mega-cat-link i,
.roham-theme .roham-mega-cat:hover .roham-mega-cat-link i {
    color: var(--ds-color-primary);
}

.roham-theme .roham-mega-panels {
    overflow: hidden;
    background: var(--ds-color-surface);
    min-width: 0;
    min-height: 0;
    height: 100%;
    position: relative;
}

.roham-theme .roham-mega-panel {
    display: none;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

.roham-theme .roham-mega-panel.is-active,
.roham-theme .roham-mega-panel.is-active[hidden] {
    display: block !important;
}

.roham-theme .roham-mega-panel-inner {
    padding: 8px 16px 16px;
    min-height: 100%;
}

.roham-theme .roham-mega-panel-head {
    position: sticky;
    top: 0;
    z-index: 2;
    margin: -8px -16px 10px;
    padding: 10px 16px 6px;
    background: linear-gradient(180deg, #fff 75%, rgba(255, 255, 255, 0));
}

.roham-theme .roham-mega-all {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: var(--ds-color-primary) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    line-height: 1.3;
}

.roham-theme .roham-mega-all:hover {
    color: var(--ds-color-primary-hover) !important;
}

.roham-theme .roham-mega-all i {
    font-size: 16px;
}

/* Digikala columns: fill full panel width, smart column-count via JS */
.roham-theme .roham-mega-columns {
    display: block;
    column-count: var(--mega-cols, 4);
    column-gap: 28px;
    column-fill: balance;
    width: 100%;
    max-width: 100%;
}

.roham-theme .roham-mega-col {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 12px;
    display: inline-block;
    width: 100%;
    vertical-align: top;
}

@media (min-width: 1400px) {
    .roham-theme {
        --ds-mega-aside-w: 248px;
        --ds-mega-h: calc(100vh - 128px);
    }

    .roham-theme .roham-mega-columns {
        column-gap: 32px;
    }
}

@media (max-width: 1199.98px) {
    .roham-theme {
        --ds-mega-aside-w: 216px;
        --ds-mega-h: calc(100vh - 120px);
    }

    .roham-theme .roham-mega-columns {
        column-gap: 22px;
    }
}

@media (max-width: 991.98px) {
    .roham-theme .roham-mega {
        display: none !important;
    }
}

.roham-theme .roham-mega-col-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--ds-color-text) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    margin-bottom: 2px;
    line-height: 1.35;
    letter-spacing: -.01em;
}

.roham-theme .roham-mega-col-title::before {
    content: "";
    width: 2px;
    height: 12px;
    border-radius: 1px;
    background: var(--ds-color-primary);
    flex-shrink: 0;
}

.roham-theme .roham-mega-col-title:hover {
    color: var(--ds-color-primary) !important;
}

.roham-theme .roham-mega-col-list {
    list-style: none;
    margin: 0;
    padding: 0 0 0 8px;
}

.roham-theme .roham-mega-col-list li + li {
    margin-top: 0;
}

.roham-theme .roham-mega-col-list a {
    display: block;
    color: #81858b !important;
    font-size: 11px;
    line-height: 1.85;
    padding: 0;
    text-decoration: none !important;
    font-weight: 400 !important;
    transition: color .12s ease;
}

.roham-theme .roham-mega-col-list a:hover {
    color: var(--ds-color-primary) !important;
}

.roham-theme .roham-mega-col-more {
    display: inline-block;
    margin: 6px 0 0 10px;
    font-size: 11px;
    font-weight: 600;
    color: var(--ds-color-secondary) !important;
    text-decoration: none !important;
}

.roham-theme .roham-mega-col-more:hover {
    color: var(--ds-color-secondary-hover) !important;
}

.roham-theme .roham-mega-empty {
    padding: 48px 16px;
    text-align: center;
    color: var(--ds-color-text-muted);
}

.roham-theme .roham-mega-empty i {
    display: block;
    font-size: 32px;
    color: #c0c2c5;
    margin-bottom: 10px;
}

.roham-theme .roham-mega-empty p {
    margin: 0 0 10px;
    font-size: 13px;
}

.roham-theme .roham-mega-empty a {
    color: var(--ds-color-link) !important;
    font-size: 13px;
    font-weight: 600;
}

.roham-theme header.page-header nav.main-menu > ul > li.dropdown-list {
    position: relative;
}

.roham-theme header.page-header nav.main-menu > ul > li.dropdown-list > ul {
    z-index: 1070 !important;
}

/* ========== Mobile header ========== */
.roham-theme .header-responsive {
    background: #fff;
    box-shadow: 0 1px 0 #e0e0e2;
    position: relative;
    top: auto;
    z-index: 1040;
    padding: 0 !important;
    transition: box-shadow .2s ease;
    width: 100%;
}

.roham-theme .header-responsive.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}

.roham-theme .roham-mheader-spacer {
    display: none;
    width: 100%;
}

.roham-theme .roham-mheader-spacer.is-on {
    display: block;
}

.roham-theme .header-responsive.is-scrolled {
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}

.roham-theme .header-responsive .header-top {
    display: none !important;
}

.roham-theme .header-responsive .header-bottom {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 8px 12px 10px;
    transition: padding .2s ease;
}

.roham-theme .header-responsive .roham-mheader-row {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
}

.roham-theme .header-responsive .roham-mheader-logo {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    line-height: 0;
    text-decoration: none !important;
}

.roham-theme .header-responsive .roham-mheader-logo img {
    display: block;
    height: 26px;
    width: auto;
    max-width: 78px;
    object-fit: contain;
}

.roham-theme .header-responsive .header-bottom .search-box {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin: 0 !important;
    max-width: none;
}

.roham-theme .header-responsive .search-box form {
    background: #f0f0f1;
    border-radius: 999px;
    position: relative;
}

.roham-theme .header-responsive .search-box form input {
    height: 40px;
    padding: 0 44px 0 16px !important;
    font-size: 12px;
    border-radius: 999px;
    transition: height .2s ease;
}

.roham-theme .header-responsive .search-box form i {
    position: absolute !important;
    right: 14px !important;
    left: auto !important;
    top: 50%;
    transform: translateY(-50%);
    color: #a1a3a8 !important;
    font-size: 18px !important;
}

/* Hamburger + cart removed; drawer opened via bottom nav */
.roham-theme .header-responsive .roham-mnav-host {
    position: absolute;
    width: 0;
    height: 0;
    overflow: visible;
    pointer-events: none;
}

.roham-theme .header-responsive .roham-mnav-host .btn-toggle-side-navigation {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    pointer-events: none;
}

.roham-theme .header-responsive .roham-mnav-host .side-navigation,
.roham-theme .header-responsive .roham-mnav-host .overlay-side-navigation {
    pointer-events: auto;
}

/* Fixed viewport drawer (host is 0×0; must not inherit flow layout) */
.roham-theme .header-responsive .side-navigation-wrapper .overlay-side-navigation {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100dvh;
    background: rgba(12, 12, 12, 0.45);
    z-index: 1040;
}

.roham-theme .header-responsive .side-navigation-wrapper .side-navigation.roham-side-nav--mcat {
    position: fixed;
    right: 0 !important;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    height: 100dvh;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
    z-index: 1045;
    transform: translate3d(100%, 0, 0);
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: flex;
    flex-direction: column;
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    visibility: hidden;
    pointer-events: none;
}

.roham-theme .header-responsive .side-navigation-wrapper .side-navigation.roham-side-nav--mcat.toggle {
    transform: translate3d(0, 0, 0);
    visibility: visible;
    pointer-events: auto;
}

.roham-theme .header-responsive .header-tools {
    display: none !important;
}

/* Digikala: delivery under search — hidden when scrolled */
.roham-theme .header-responsive .roham-delivery-bar--mobile {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 6px 2px 0;
    border-top: none;
    margin: 0;
    overflow: hidden;
    max-height: 36px;
    opacity: 1;
    visibility: visible;
    transition: max-height .22s ease, opacity .18s ease, padding .22s ease, visibility .22s ease;
}

.roham-theme .header-responsive.is-scrolled .roham-delivery-bar--mobile {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    visibility: hidden;
    pointer-events: none;
}

/* PLP: hide delivery row instantly so chips stick flush under search (no animated gap) */
html.roham-plp-page-active .header-responsive .roham-delivery-bar--mobile,
.roham-theme .header-responsive.is-plp .roham-delivery-bar--mobile {
    display: none !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
}

html.roham-plp-page-active .header-responsive.is-fixed .header-bottom,
.roham-theme .header-responsive.is-plp .header-bottom {
    padding: 8px 12px !important;
}

.roham-theme .header-responsive .roham-delivery-bar--mobile .roham-delivery-trigger {
    max-width: 100%;
    height: auto;
    line-height: 1.35;
    padding: 2px 0;
    gap: 4px;
    font-size: 11px;
    color: #424750;
}

.roham-theme .header-responsive .roham-delivery-bar--mobile .roham-delivery-trigger > .ri-map-pin-2-line {
    font-size: 16px;
    color: #424750;
}

.roham-theme .header-responsive .roham-delivery-bar--mobile .roham-delivery-label {
    font-size: 11px;
    color: #424750;
    max-width: min(78vw, 320px);
}

.roham-theme .header-responsive .roham-delivery-bar--mobile .roham-delivery-caret {
    display: inline-flex !important;
    font-size: 14px;
    color: #81858b;
    flex-shrink: 0;
}

/* Compact scrolled mobile header */
.roham-theme .header-responsive.is-scrolled .header-bottom {
    padding: 6px 12px 8px;
}

.roham-theme .header-responsive.is-scrolled .roham-mheader-logo img {
    height: 22px;
    max-width: 68px;
}

.roham-theme .header-responsive.is-scrolled .search-box form input {
    height: 36px;
}

.roham-theme .header-responsive .cart-btn {
    position: relative;
}


.roham-theme .header-responsive .cart-btn .counter {
    position: absolute;
    top: -4px;
    left: -4px;
    background: var(--roham-red);
    color: #fff;
    border-radius: 50%;
    min-width: 16px;
    height: 16px;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
}

/* ========== Digikala-style mobile category menu ========== */
body.roham-theme.roham-mcat-open {
    overflow: hidden !important;
    touch-action: none;
}

.roham-mcat {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: #fff;
}

.roham-mcat-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    padding-top: max(10px, env(safe-area-inset-top));
    border-bottom: 1px solid #f0f0f1;
    flex-shrink: 0;
    background: #fff;
}

.roham-mcat-back {
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0c0c0c;
    font-size: 22px;
    flex-shrink: 0;
    cursor: pointer;
}

.roham-mcat-back:active {
    background: #f0f0f1;
}

.roham-mcat-search {
    flex: 1;
    min-width: 0;
    height: 40px;
    border: none;
    border-radius: 999px;
    background: #f0f0f1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    color: #a1a3a8;
    font-size: 12px;
    cursor: pointer;
    text-align: right;
}

.roham-mcat-search i {
    font-size: 18px;
    color: #81858b;
    flex-shrink: 0;
}

.roham-mcat-search span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.roham-mcat-body {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    background: #fff;
}

.roham-mcat-aside {
    background: #f0f0f1;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-width: none;
    padding: 6px 0 16px;
}

.roham-mcat-aside::-webkit-scrollbar {
    display: none;
}

.roham-mcat-rail {
    width: 100%;
    border: none;
    background: transparent;
    padding: 14px 8px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    position: relative;
    color: #62666d;
    transition: background .15s ease, color .15s ease;
    text-decoration: none !important;
}

.roham-mcat-rail.is-active {
    background: #fff;
    color: var(--ds-color-primary);
}

.roham-mcat-rail.is-active::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 3px;
    height: 36px;
    border-radius: 3px 0 0 3px;
    background: var(--ds-color-primary);
}

.roham-mcat-rail-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}

.roham-mcat-rail.is-active .roham-mcat-rail-icon {
    box-shadow: 0 0 0 1.5px var(--ds-color-primary-soft-strong);
}

.roham-mcat-rail-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 5px;
}

.roham-mcat-rail-fallback {
    font-size: 16px;
    font-weight: 700;
    color: #81858b;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.roham-mcat-rail-fallback i {
    font-size: 20px;
    line-height: 1;
}

.roham-mcat-rail.is-active .roham-mcat-rail-fallback {
    color: var(--ds-color-primary);
}

.roham-mcat-rail-label {
    font-size: 11px;
    line-height: 1.4;
    font-weight: 500;
    text-align: center;
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 0 2px;
}

.roham-mcat-aside-extra {
    padding: 8px 0 8px;
    border-top: 1px solid #e0e0e2;
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.roham-mcat-rail--link {
    color: #424750 !important;
}

.roham-mcat-rail--link .roham-mcat-rail-label,
.roham-mcat-rail--link .roham-mcat-rail-fallback,
.roham-mcat-rail--link .roham-mcat-rail-fallback i {
    color: #424750 !important;
}

.roham-mcat-rail--link .roham-mcat-rail-icon {
    background: #fff;
}

.roham-mcat-extra-link {
    display: none;
}

.roham-mcat-panels {
    position: relative;
    min-width: 0;
    background: #fff;
    overflow: hidden;
}

.roham-mcat-panel {
    display: none;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 0 16px;
    scrollbar-width: thin;
}

.roham-mcat-panel.is-active,
.roham-mcat-panel.is-active[hidden] {
    display: block !important;
}

.roham-mcat-all {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2px;
    padding: 16px 16px 12px;
    color: var(--ds-color-secondary) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
}

.roham-mcat-all i {
    font-size: 16px;
}

.roham-mcat-section {
    border-top: 1px solid #f0f0f1;
}

.roham-mcat-section-toggle,
.roham-mcat-section-link {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px;
    border: none;
    background: #fff;
    color: #0c0c0c !important;
    font-size: 13px;
    font-weight: 700;
    text-align: right;
    text-decoration: none !important;
    cursor: pointer;
    line-height: 1.4;
}

.roham-mcat-section-toggle i,
.roham-mcat-section-link i {
    color: #a1a3a8;
    font-size: 18px;
    flex-shrink: 0;
    transition: transform .2s ease;
}

.roham-mcat-section.is-open > .roham-mcat-section-toggle i {
    transform: rotate(180deg);
}

.roham-mcat-section-body {
    padding: 4px 12px 18px;
}

.roham-mcat-section-body[hidden] {
    display: none !important;
}

.roham-mcat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 10px;
}

.roham-mcat-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none !important;
    color: #424750 !important;
    min-width: 0;
}

.roham-mcat-tile-circle {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: #f0f0f1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
}

.roham-mcat-tile:active .roham-mcat-tile-circle {
    transform: scale(.96);
}

.roham-mcat-tile-circle img {
    width: 78%;
    height: 78%;
    object-fit: contain;
}

.roham-mcat-tile-fallback {
    font-size: 18px;
    font-weight: 700;
    color: #81858b;
}

.roham-mcat-tile-label {
    font-size: 11px;
    line-height: 1.35;
    text-align: center;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 0 2px;
}

.roham-mcat-tile--all .roham-mcat-tile-circle {
    color: #62666d;
    font-size: 22px;
}

.roham-mcat-tile--all .roham-mcat-tile-label {
    font-weight: 600;
    color: #424750;
}

.roham-mcat-empty {
    padding: 8px 12px 24px;
    text-align: center;
    color: #81858b;
}

.roham-mcat-grid--empty {
    justify-items: center;
    margin-bottom: 16px;
}

.roham-mcat-grid--empty .roham-mcat-tile {
    width: 33%;
    min-width: 88px;
}

.roham-mcat-empty-hint {
    margin: 0 8px 14px;
    font-size: 12px;
    line-height: 1.6;
    color: #81858b;
}

.roham-mcat-empty-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #f0f0f1;
    color: #0c0c0c !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}

.roham-mcat-empty-cta i {
    font-size: 16px;
}

.roham-mcat-empty i.ri-folder-open-line {
    font-size: 36px;
    display: block;
    margin-bottom: 10px;
}

.roham-mcat-empty > p:not(.roham-mcat-empty-hint) {
    margin: 0 0 12px;
    font-size: 13px;
}

.roham-mcat-empty > a:not(.roham-mcat-empty-cta):not(.roham-mcat-tile) {
    color: var(--ds-color-secondary) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}

@media (min-width: 400px) {
    .roham-theme .roham-mcat-body {
        grid-template-columns: 108px minmax(0, 1fr);
    }

    .roham-mcat-tile-circle {
        width: 80px;
        height: 80px;
    }

    .roham-mcat-rail-icon {
        width: 52px;
        height: 52px;
    }
}

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

/* ========== Bottom nav — slim glass dock ========== */
.roham-bottom-nav {
    display: none;
    position: fixed;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    right: 16px;
    left: 16px;
    height: auto;
    z-index: 1060;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .18s ease, visibility .18s ease, transform .22s ease;
}

.roham-bottom-nav ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2px;
    margin: 0;
    padding: 4px 6px;
    list-style: none;
    pointer-events: auto;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow:
        0 6px 24px rgba(15, 23, 42, 0.1),
        0 1px 0 rgba(255, 255, 255, 0.65) inset;
    -webkit-backdrop-filter: blur(20px) saturate(1.7);
    backdrop-filter: blur(20px) saturate(1.7);
}

.roham-bottom-nav li {
    flex: 1;
    min-width: 0;
}

.roham-bottom-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    padding: 2px 2px 3px;
    height: auto;
    font-size: 9px;
    font-weight: 500;
    color: #a1a3a8 !important;
    text-decoration: none !important;
    border-radius: 14px;
    transition: color .18s ease, transform .18s ease;
    -webkit-tap-highlight-color: transparent;
}

.roham-bottom-nav .roham-bnav-ico {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: transparent;
    border: none;
    box-shadow: none;
    color: #616161;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.roham-bottom-nav .roham-bnav-ico i {
    font-size: 18px;
    line-height: 1;
}

.roham-bottom-nav .roham-bnav-label {
    font-size: 9px;
    line-height: 1.15;
    letter-spacing: -.01em;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: .92;
}

.roham-bottom-nav a:active {
    transform: scale(0.96);
}

.roham-bottom-nav a.active {
    color: #0c0c0c !important;
    font-weight: 700;
}

.roham-bottom-nav a.active .roham-bnav-ico {
    background: rgba(239, 57, 78, 0.12);
    color: var(--roham-red, #ef394e);
    box-shadow: 0 2px 8px rgba(239, 57, 78, 0.16);
}

.roham-bottom-nav a.active .roham-bnav-label {
    color: var(--roham-red, #ef394e) !important;
    opacity: 1;
}

.roham-bottom-nav .nav-badge {
    position: absolute;
    top: -1px;
    left: -1px;
    background: var(--roham-red, #ef394e);
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    min-width: 14px;
    height: 14px;
    padding: 0 3px;
    border-radius: 999px;
    line-height: 14px;
    text-align: center;
    border: 1.5px solid #fff;
    box-shadow: 0 1px 4px rgba(239, 57, 78, 0.3);
}

.roham-bottom-nav li a {
    position: relative;
}

@media (max-width: 991.98px) {
    .roham-bottom-nav {
        display: block;
    }
}

/* Fallback when backdrop-filter unsupported */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .roham-bottom-nav ul {
        background: rgba(255, 255, 255, 0.92);
    }
}

/* ========== Footer (Digikala desktop + mobile) ========== */
.roham-theme .page-footer.roham-footer {
    background: #fff;
    margin-top: 32px;
    border-top: 1px solid #e0e0e2;
    padding-bottom: calc(var(--ds-bottom-nav-h) + 12px);
}

@media (min-width: 992px) {
    .roham-theme .page-footer.roham-footer {
        padding-bottom: 0;
    }
}

.roham-theme .roham-footer-back {
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-footer-back .container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.roham-theme .roham-back-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 16px 0;
    padding: 10px 22px;
    border: 1px solid #e0e0e2;
    border-radius: 999px;
    background: #fff;
    color: #424750 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.roham-theme .roham-back-top:hover {
    background: #f7f7f8;
    border-color: #c0c2c5;
    color: #0c0c0c !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}

.roham-theme .roham-back-top i {
    font-size: 18px;
    color: #81858b;
    transition: color .15s ease, transform .15s ease;
}

.roham-theme .roham-back-top:hover i {
    color: #0c0c0c;
    transform: translateY(-1px);
}

@media (min-width: 992px) {
    .roham-theme .roham-back-top {
        margin: 18px 0;
        padding: 11px 28px;
        font-size: 13px;
    }
}

/* Mobile action rows */
.roham-theme .roham-footer-mobile-actions {
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-footer-action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-footer-action-row:last-child {
    border-bottom: none;
}

.roham-theme .roham-footer-action-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.roham-theme .roham-footer-action-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f0f0f1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #424750;
    font-size: 20px;
    flex-shrink: 0;
    overflow: hidden;
}

.roham-theme .roham-footer-action-icon--brand {
    background: #fff;
    border: 1px solid #e0e0e2;
}

.roham-theme .roham-footer-action-icon--brand img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.roham-theme .roham-footer-action-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.roham-theme .roham-footer-action-text strong {
    font-size: 13px;
    color: #0c0c0c;
    font-weight: 700;
}

.roham-theme .roham-footer-action-text small {
    font-size: 11px;
    color: #81858b;
}

.roham-theme .roham-footer-action-btn {
    flex-shrink: 0;
    padding: 8px 16px;
    border-radius: 999px;
    background: #f0f0f1;
    color: #0c0c0c !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}

/* Desktop services */
.roham-theme .roham-footer-services {
    padding: 28px 0 8px;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-footer-services-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    text-align: center;
}

.roham-theme .roham-footer-service {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
    color: #424750 !important;
}

.roham-theme .roham-footer-service-icon img {
    width: 56px;
    height: 56px;
    object-fit: contain;
}

.roham-theme .roham-footer-service-label {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: #3f4064;
}

/* Desktop main columns */
.roham-theme .roham-footer-main {
    padding: 28px 0 8px;
}

.roham-theme .roham-footer-main-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(260px, 1.2fr);
    gap: 24px 32px;
}

.roham-theme .roham-footer-col-title {
    font-size: 15px;
    font-weight: 700;
    color: #3f4064;
    margin: 0 0 14px;
}

.roham-theme .roham-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.roham-theme .roham-footer-links li + li {
    margin-top: 10px;
}

.roham-theme .roham-footer-links a {
    color: #81858b !important;
    font-size: 12px;
    text-decoration: none !important;
    line-height: 1.5;
    transition: color .15s ease;
}

.roham-theme .roham-footer-links a:hover {
    color: #0c0c0c !important;
}

.roham-theme .roham-footer-socials {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.roham-theme .roham-footer-socials a {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #f0f0f1;
    color: #a1a3a8 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    text-decoration: none !important;
    transition: color .15s ease, background .15s ease;
}

.roham-theme .roham-footer-socials a:hover {
    color: #424750 !important;
    background: #e0e0e2;
}

.roham-theme .roham-footer-news-hint {
    margin: 0 0 10px;
    font-size: 12px;
    color: #81858b;
    line-height: 1.5;
}

.roham-theme .roham-footer-news {
    display: flex;
    gap: 8px;
}

.roham-theme .roham-footer-news-input {
    flex: 1;
    min-width: 0;
    height: 40px;
    border: none;
    border-radius: 8px;
    background: #f0f0f1;
    padding: 0 12px;
    font-size: 12px;
    color: #0c0c0c;
}

.roham-theme .roham-footer-news-btn {
    height: 40px;
    border: none;
    border-radius: 8px;
    background: #e0e0e2;
    color: #a1a3a8;
    font-size: 12px;
    font-weight: 700;
    padding: 0 18px;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.roham-theme .roham-footer-news-btn:hover {
    background: var(--ds-color-primary);
    color: #fff;
}

/* Mobile accordion */
.roham-theme .roham-footer-accordion {
    border-top: 1px solid #f0f0f1;
}

.roham-theme .roham-footer-acc {
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-footer-acc-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 0;
    border: none;
    background: transparent;
    color: #0c0c0c;
    font-size: 14px;
    font-weight: 700;
    text-align: right;
    cursor: pointer;
}

.roham-theme .roham-footer-acc-toggle i {
    font-size: 20px;
    color: #a1a3a8;
    transition: transform .2s ease;
}

.roham-theme .roham-footer-acc.is-open .roham-footer-acc-toggle i {
    transform: rotate(180deg);
}

.roham-theme .roham-footer-acc-body {
    padding: 0 0 14px;
}

.roham-theme .roham-footer-acc-body[hidden] {
    display: none !important;
}

.roham-theme .roham-footer-acc-body .roham-footer-links li + li {
    margin-top: 12px;
}

/* SEO + trust */
.roham-theme .roham-footer-seo {
    padding: 24px 0 16px;
}

/* Real expandable «مشاهده بیشتر» — only when text overflows */
.roham-theme .roham-footer .expandable-text[data-roham-expandable] {
    height: auto !important;
    max-height: none;
    overflow: hidden;
    position: relative;
    margin-bottom: 0 !important;
    padding-bottom: 0;
}

.roham-theme .roham-footer .expandable-text[data-roham-expandable].is-collapsed {
    max-height: var(--roham-seo-collapsed, 96px);
}

.roham-theme .roham-footer .expandable-text[data-roham-expandable].is-expanded {
    max-height: none !important;
    height: auto !important;
    padding-bottom: 8px;
}

.roham-theme .roham-footer .expandable-text[data-roham-expandable] .expandable-text_text {
    position: relative;
}

.roham-theme .roham-footer-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-top: 8px;
    padding: 0;
    border: none;
    background: transparent;
    color: #19bfd3 !important;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

.roham-theme .roham-footer .expandable-text[data-roham-expandable].is-collapsed .roham-footer-more-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    height: 48px;
    padding-top: 18px;
    align-items: flex-end;
    justify-content: flex-start;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 55%);
}

.roham-theme .roham-footer-more-btn[hidden] {
    display: none !important;
}

.roham-theme .roham-footer-more-btn .show-more,
.roham-theme .roham-footer-more-btn .show-less {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.roham-theme .roham-footer-more-btn .show-more[hidden],
.roham-theme .roham-footer-more-btn .show-less[hidden] {
    display: none !important;
}

.roham-theme .roham-footer-more-btn i {
    font-size: 16px;
}

.roham-theme .roham-footer-seo-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

@media (max-width: 991.98px) {
    .roham-theme .roham-footer-seo-grid {
        grid-template-columns: 1fr;
    }
}

.roham-theme .roham-footer-seo-title {
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
    margin-bottom: 8px;
}

.roham-theme .roham-footer-seo-body {
    font-size: 12px;
    color: #81858b;
    line-height: 1.8;
}

.roham-theme .roham-footer-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
}

.roham-theme .roham-footer-trust a,
.roham-theme .roham-footer-trust img {
    display: inline-block;
}

.roham-theme .roham-footer-trust img,
.roham-theme .trust-symbol img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    background: #fff;
    padding: 6px;
}

.roham-theme .roham-footer-copy {
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid #f0f0f1;
    text-align: center;
    font-size: 11px;
    color: #a1a3a8;
    line-height: 1.6;
}

.roham-theme .page-footer .btn-primary {
    background: var(--roham-red) !important;
}

/* ========== Home ========== */
.roham-theme .roham-home {
    max-width: 1336px;
}

.roham-theme .roham-hero-slider,
.roham-theme .roham-hero-slider .swiper-container,
.roham-theme .roham-hero-slider img {
    border-radius: var(--roham-radius-xl);
    overflow: hidden;
}

.roham-theme .roham-hero-slider img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 6;
    object-fit: cover;
    display: block;
}

.roham-theme .roham-side-banner {
    border-radius: var(--roham-radius-xl);
    overflow: hidden;
    height: 100%;
    min-height: 220px;
}

.roham-theme .roham-side-banner a {
    display: block;
    height: 100%;
    min-height: 220px;
    background-size: cover;
    background-position: center;
    border-radius: var(--roham-radius-xl);
}

.roham-theme .roham-promo-banner,
.roham-theme .roham-promo-banner img,
.roham-theme .roham-top-banner img {
    border-radius: var(--roham-radius-lg);
    overflow: hidden;
}

/* ========== Digikala mid-page ads (auto by count) ========== */
.roham-theme .roham-ad-grid {
    display: grid;
    width: 100%;
    gap: 12px;
    margin: 0 0 20px;
    padding: 0;
    align-items: stretch;
}

@media (min-width: 992px) {
    .roham-theme .roham-ad-grid {
        gap: 20px;
        margin-bottom: 24px;
    }
}

/* 1 — full width */
.roham-theme .roham-ad-grid--own {
    grid-template-columns: 1fr;
}

/* 2 — stack mobile, pair desktop (Digikala) */
.roham-theme .roham-ad-grid--two {
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .roham-theme .roham-ad-grid--two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 3 */
.roham-theme .roham-ad-grid--three {
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .roham-theme .roham-ad-grid--three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* 4 — 2×2 mobile, 1×4 desktop */
.roham-theme .roham-ad-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

@media (min-width: 992px) {
    .roham-theme .roham-ad-grid--four {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
    }
}

.roham-theme .roham-ad-card {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
    text-decoration: none !important;
    line-height: 0;
    transition: transform .2s ease, box-shadow .2s ease;
}

@media (min-width: 992px) {
    .roham-theme .roham-ad-card {
        border-radius: 16px;
    }
}

/* Show full creative — no forced crop / aspect-ratio */
.roham-theme .roham-ad-card img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: inherit;
    object-fit: unset;
    transition: transform .35s ease;
}

@media (min-width: 992px) {
    .roham-theme .roham-ad-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
    }

    .roham-theme .roham-ad-card:hover img {
        transform: scale(1.02);
    }
}

@media (max-width: 991.98px) {
    .roham-theme .roham-ad-card:active {
        transform: scale(.985);
    }
}

@media (max-width: 767.98px) {
    .roham-theme .roham-hero-slider img {
        aspect-ratio: 16 / 9;
        border-radius: var(--roham-radius-lg);
    }
}

/* Quick colored icon links */
.roham-theme .roham-quick-links {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 2px 20px;
    margin-bottom: 8px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.roham-theme .roham-quick-links::-webkit-scrollbar {
    display: none;
}

.roham-theme .roham-quick-item {
    flex: 0 0 auto;
    width: 86px;
    text-align: center;
    text-decoration: none !important;
    color: var(--roham-text) !important;
}

.roham-theme .roham-quick-circle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 8px;
    color: #fff;
    font-size: 22px;
    overflow: hidden;
}

.roham-theme .roham-quick-circle img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.roham-theme .roham-quick-c1 { background: #ef394e; }
.roham-theme .roham-quick-c2 { background: #a855f7; }
.roham-theme .roham-quick-c3 { background: #3b82f6; }
.roham-theme .roham-quick-c4 { background: #0f172a; }
.roham-theme .roham-quick-c5 { background: #14b8a6; }
.roham-theme .roham-quick-c6 { background: #ec4899; }
.roham-theme .roham-quick-c7 { background: #f97316; }
.roham-theme .roham-quick-c8 { background: #e11d48; }
.roham-theme .roham-quick-c9 { background: #0d9488; }
.roham-theme .roham-quick-c10 { background: #fb923c; }

.roham-theme .roham-quick-label {
    font-size: 11px;
    line-height: 1.4;
    display: block;
    max-height: 2.8em;
    overflow: hidden;
}

/* Amazing / Incredible offers — Digikala layout */
.roham-theme .roham-amazing {
    display: flex;
    align-items: stretch;
    background: var(--roham-red);
    border-radius: var(--roham-radius-xl);
    padding: 12px;
    margin-bottom: 28px;
    gap: 8px;
    overflow: hidden;
}

.roham-theme .roham-amazing-aside {
    flex: 0 0 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    padding: 12px 8px;
    gap: 14px;
}

.roham-theme .roham-amazing-badge {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 3px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 800;
}

.roham-theme .roham-amazing-title {
    font-size: 22px;
    font-weight: 800;
    margin: 0;
    color: #fff;
}

.roham-theme .roham-amazing .roham-countdown {
    display: flex;
    gap: 2px;
    direction: ltr;
    align-items: center;
}

.roham-theme .roham-amazing .roham-countdown span {
    background: #fff;
    color: #0c0c0c;
    font-weight: 700;
    font-size: 13px;
    min-width: 26px;
    height: 26px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-variant-numeric: tabular-nums;
}

.roham-theme .roham-amazing .roham-countdown .sep {
    background: transparent;
    color: #fff;
    min-width: 6px;
}

.roham-theme .roham-amazing-all {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    color: var(--roham-red) !important;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: 999px;
    text-decoration: none !important;
}

.roham-theme .roham-amazing-slider {
    flex: 1;
    min-width: 0;
    background: transparent;
}

.roham-theme .roham-amazing-slider .swiper-container,
.roham-theme .roham-amazing-slider .product-specials-swiper-slider {
    overflow: hidden;
    border-radius: var(--roham-radius-lg);
    height: 100%;
    background: #fff;
}

.roham-theme .roham-amazing-slider .swiper-slide {
    height: auto;
    border-left: 1px solid #f0f0f1;
}

.roham-theme .roham-amazing-card {
    background: #fff;
    padding: 12px;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: right;
}

.roham-theme .roham-amazing-card-thumb {
    display: block;
    text-align: center;
    margin-bottom: 10px;
}

.roham-theme .roham-amazing-card-thumb img {
    width: 140px;
    height: 140px;
    object-fit: contain;
    margin: 0 auto;
}

.roham-theme .roham-amazing-card-title {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
    margin: 0 0 auto;
    max-height: 3.4em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.roham-theme .roham-amazing-card-title a {
    color: #3f4064 !important;
    text-decoration: none;
}

.roham-theme .roham-amazing-card-price {
    margin-top: 10px;
}

.roham-theme .roham-price-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 4px;
}

.roham-theme .roham-price-row del {
    color: #c0c2c5;
    font-size: 12px;
    text-decoration: line-through;
}

.roham-theme .roham-discount-pill {
    background: var(--ds-color-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 16px;
    padding: 2px 8px;
    line-height: 1.4;
}

.roham-theme .roham-price-final {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 4px;
}

.roham-theme .roham-price-final strong {
    font-size: 16px;
    color: #0c0c0c;
    font-weight: 800;
}

.roham-theme .roham-toman {
    font-size: 11px;
    color: #81858b;
    font-weight: 500;
}

.roham-theme .roham-amazing-slider .swiper-button-next,
.roham-theme .roham-amazing-slider .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: 0;
    top: 42%;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .12), 0 2px 10px rgba(0, 0, 0, .08);
    color: #424750;
    border: 1px solid rgba(0, 0, 0, .04);
}

.roham-theme .roham-amazing-slider .swiper-button-next {
    left: 8px;
    right: auto;
}

.roham-theme .roham-amazing-slider .swiper-button-prev {
    right: 8px;
    left: auto;
}

.roham-theme .roham-amazing-slider .swiper-button-next:after,
.roham-theme .roham-amazing-slider .swiper-button-prev:after {
    font-size: 14px;
    font-weight: 700;
}

.roham-theme .roham-amazing-slider .swiper-button-disabled {
    opacity: 0.38 !important;
    color: #c0c2c5 !important;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .roham-theme .roham-amazing {
        flex-direction: column;
        padding: 10px;
    }

    .roham-theme .roham-amazing-aside {
        flex: none;
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
        padding: 8px 4px 12px;
        gap: 8px;
    }

    .roham-theme .roham-amazing-badge {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    .roham-theme .roham-amazing-title {
        font-size: 16px;
        margin-left: auto;
    }
}

/* Categories grid */
.roham-theme .roham-cat-grid-section {
    background: #fff;
    border-radius: var(--roham-radius-xl);
    padding: 20px 16px 8px;
    margin-bottom: 28px;
}

.roham-theme .roham-cat-grid-title {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 20px;
    text-align: right;
    color: var(--roham-text);
}

.roham-theme .roham-cat-grid {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 16px 8px;
}

.roham-theme .roham-cat-grid-item {
    text-align: center;
    text-decoration: none !important;
    color: var(--roham-text) !important;
}

.roham-theme .roham-cat-grid-circle {
    width: 88px;
    height: 88px;
    max-width: 100%;
    border-radius: 50%;
    background: #f0f0f1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
    overflow: hidden;
    transition: transform .2s;
}

.roham-theme .roham-cat-grid-item:hover .roham-cat-grid-circle {
    transform: scale(1.04);
}

.roham-theme .roham-cat-grid-circle img {
    width: 70%;
    height: 70%;
    object-fit: contain;
}

.roham-theme .roham-cat-grid-fallback {
    font-size: 28px;
    font-weight: 700;
    color: #81858b;
}

.roham-theme .roham-cat-grid-label {
    font-size: 12px;
    line-height: 1.5;
    display: block;
}

@media (max-width: 1199.98px) {
    .roham-theme .roham-cat-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (max-width: 767.98px) {
    .roham-theme .roham-cat-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px 6px;
    }

    .roham-theme .roham-cat-grid-circle {
        width: 72px;
        height: 72px;
    }
}

/* Product rails (Digikala white card carousel) */
.roham-theme .roham-product-rail {
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.roham-theme .roham-rail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 10px;
    gap: 12px;
}

.roham-theme .roham-rail-titles {
    min-width: 0;
}

.roham-theme .roham-rail-title {
    font-size: 16px;
    font-weight: 800;
    margin: 0;
    color: #0c0c0c;
    line-height: 1.4;
}

.roham-theme .roham-rail-sub {
    margin: 2px 0 0;
    font-size: 12px;
    color: #81858b;
    line-height: 1.4;
}

.roham-theme .roham-rail-all {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: #f0f0f1;
    color: #0c0c0c !important;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 999px;
    text-decoration: none !important;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background .15s ease;
}

.roham-theme .roham-rail-all:hover {
    background: #e0e0e2;
}

.roham-theme .roham-rail-all i {
    font-size: 16px;
}

.roham-theme .roham-rail-body {
    padding: 0 8px 16px;
    position: relative;
}

.roham-theme .roham-rail-body .slider-lg {
    overflow: hidden;
    padding: 0 4px;
}

.roham-theme .roham-rail-body .swiper-slide {
    height: auto;
    border-left: 1px solid #f0f0f1;
    box-sizing: border-box;
}

.roham-theme .roham-rail-body .swiper-slide:last-child {
    border-left-color: transparent;
}

.roham-theme .roham-rail-card {
    padding: 12px 14px 16px;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: right;
    background: #fff;
}

.roham-theme .roham-rail-card-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 12px;
    background: #fff;
    border-radius: 8px;
    min-height: 150px;
}

.roham-theme .roham-rail-card-thumb img {
    width: 150px;
    height: 150px;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
}

.roham-theme .roham-rail-card-title {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
    margin: 0 0 auto;
    max-height: 3.4em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.roham-theme .roham-rail-card-title a {
    color: #3f4064 !important;
    text-decoration: none;
}

.roham-theme .roham-rail-card-price {
    margin-top: 12px;
}

.roham-theme .roham-rail-card-price.unavailable {
    color: #81858b;
    font-size: 13px;
    font-weight: 500;
}

/* Digikala circular nav arrows */
.roham-theme .roham-rail-body .swiper-button-next,
.roham-theme .roham-rail-body .swiper-button-prev,
.roham-theme .roham-amazing-slider .swiper-button-next,
.roham-theme .roham-amazing-slider .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: 0;
    top: 42%;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .12), 0 2px 10px rgba(0, 0, 0, .08);
    color: #424750;
    border: 1px solid rgba(0, 0, 0, .04);
    transition: opacity .2s ease, color .2s ease, box-shadow .2s ease;
}

.roham-theme .roham-rail-body .swiper-button-next,
.roham-theme .roham-amazing-slider .swiper-button-next {
    left: 8px;
    right: auto;
}

.roham-theme .roham-rail-body .swiper-button-prev,
.roham-theme .roham-amazing-slider .swiper-button-prev {
    right: 8px;
    left: auto;
}

.roham-theme .roham-rail-body .swiper-button-next:after,
.roham-theme .roham-rail-body .swiper-button-prev:after,
.roham-theme .roham-amazing-slider .swiper-button-next:after,
.roham-theme .roham-amazing-slider .swiper-button-prev:after {
    font-size: 14px;
    font-weight: 700;
}

.roham-theme .roham-rail-body .swiper-button-disabled,
.roham-theme .roham-amazing-slider .swiper-button-disabled {
    opacity: 0.38 !important;
    color: #c0c2c5 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    pointer-events: none;
    cursor: default;
}

/* Mobile Digikala: bordered cards + swipe, no arrows */
@media (max-width: 991.98px) {
    .roham-theme .roham-product-rail {
        border-radius: 12px;
        border-left: none;
        border-right: none;
        border-radius: 0;
        margin-left: -12px;
        margin-right: -12px;
        width: calc(100% + 24px);
    }

    .roham-theme .roham-rail-head {
        padding: 14px 16px 8px;
    }

    .roham-theme .roham-rail-title {
        font-size: 15px;
    }

    .roham-theme .roham-rail-body {
        padding: 0 12px 14px;
    }

    .roham-theme .roham-rail-body .slider-lg {
        overflow: visible;
        padding: 0;
    }

    .roham-theme .roham-rail-body .swiper-wrapper {
        /* peek next card */
    }

    .roham-theme .roham-rail-body .swiper-slide {
        border-left: none !important;
        height: auto;
        padding: 0 4px;
        box-sizing: border-box;
    }

    .roham-theme .roham-rail-card {
        border: 1px solid #e0e0e2;
        border-radius: 8px;
        padding: 10px 10px 12px;
        background: #fff;
    }

    .roham-theme .roham-rail-card-thumb {
        background: #fff;
        border-radius: 8px;
        min-height: 120px;
        margin-bottom: 10px;
        padding: 8px;
    }

    .roham-theme .roham-rail-card-thumb img {
        width: 120px;
        height: 120px;
    }

    .roham-theme .roham-rail-body .swiper-button-next,
    .roham-theme .roham-rail-body .swiper-button-prev,
    .roham-theme .roham-amazing-slider .swiper-button-next,
    .roham-theme .roham-amazing-slider .swiper-button-prev {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .roham-theme .roham-rail-body .swiper-button-next,
    .roham-theme .roham-rail-body .swiper-button-prev {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Legacy product-card overrides inside rails */
.roham-theme .roham-product-rail .product-card,
.roham-theme .roham-amazing .product-card {
    border: none;
    box-shadow: none;
    text-align: right;
}

/* ========== PDP — Digikala desktop + mobile ========== */
.roham-theme .roham-pdp {
    max-width: 1336px;
}

.roham-theme .roham-pdp-breadcrumb.breadcrumb {
    background: transparent;
    padding: 8px 0 14px;
    margin: 0;
    font-size: 11px;
    color: #81858b;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    align-items: center;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

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

.roham-theme .roham-pdp-breadcrumb a {
    color: #81858b !important;
    text-decoration: none !important;
    white-space: nowrap;
    font-weight: 500;
}

.roham-theme .roham-pdp-breadcrumb a::after {
    content: "›";
    margin: 0 6px;
    color: #c0c2c5;
    font-weight: 400;
}

.roham-theme .roham-pdp-breadcrumb a:last-of-type::after {
    content: none;
}

.roham-theme .roham-pdp-breadcrumb .roham-pdp-breadcrumb-current {
    color: #81858b;
    white-space: nowrap;
}

.roham-theme .roham-pdp-breadcrumb .roham-pdp-breadcrumb-current::before {
    content: "›";
    margin: 0 6px;
    color: #c0c2c5;
}

.roham-theme .roham-pdp-card.product,
.roham-theme .single-product .product.roham-pdp-card {
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 16px;
    padding: 20px;
    box-shadow: none;
}

.roham-theme .roham-pdp-hero.hero-product-detail {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
}

/* Digikala desktop: 3/4 content + 1/4 sticky buy */
.roham-pdp-upper,
.roham-pdp-lower {
    display: block;
    width: 100%;
}

.roham-pdp-upper-aside,
.roham-pdp-lower-aside {
    width: 100%;
}

@media (min-width: 992px) {
    .roham-theme .roham-pdp-upper {
        display: grid;
        grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr);
        gap: 20px;
        align-items: start;
        width: 100%;
    }

    .roham-theme .roham-pdp-upper-main {
        min-width: 0;
    }

    .roham-theme .roham-pdp-upper-aside.roham-pdp-buy {
        position: sticky;
        top: 88px;
        align-self: start;
        z-index: 20;
        width: 100% !important;
        max-width: none !important;
        float: none !important;
        flex: none !important;
        min-width: 0;
        margin: 0;
        padding: 0 !important;
    }

    /* Hero inside main: gallery | info */
    .roham-theme .roham-pdp-hero.hero-product-detail {
        display: grid !important;
        grid-template-columns: minmax(260px, 1fr) minmax(0, 1.35fr);
        gap: 8px 24px;
        align-items: start;
        width: 100%;
        flex-wrap: unset;
    }

    .roham-theme .roham-pdp-hero .product-detail--gallery,
    .roham-theme .roham-pdp-hero .product-detail--info {
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        min-width: 0;
        float: none !important;
    }

    .roham-theme .roham-pdp-hero .product-detail--info {
        padding: 0 8px 0 0;
    }

    .roham-theme .roham-pdp-lower {
        display: grid;
        grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr);
        gap: 20px;
        align-items: start;
        width: 100%;
    }

    .roham-theme .roham-pdp-lower.is-solo {
        grid-template-columns: minmax(0, 1fr);
    }

    .roham-theme .roham-pdp-lower-main {
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .roham-theme .roham-pdp-lower-aside {
        position: sticky;
        top: calc(var(--roham-pdp-secnav-top, 56px) + 12px);
        align-self: start;
        z-index: 15;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    /* Same card language as sticky buy box */
    .roham-theme .roham-pdp-lower-main .roham-pdp-sections {
        border: 1px solid #e0e0e2;
        border-radius: 8px;
        background: #fff;
        margin: 0;
    }

    .roham-theme .roham-pdp-lower-aside .roham-pdp-buy2 {
        margin: 0;
    }

    .roham-theme .roham-pdp,
    .roham-theme .single-product.roham-pdp,
    .roham-theme .roham-pdp-sections-wrap {
        max-width: 1336px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box;
    }

    /* Don't let Bootstrap row negative margins cancel container gutters */
    .roham-theme .roham-pdp > .row,
    .roham-theme .roham-pdp-sections-wrap > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .roham-theme .roham-pdp > .row > [class*="col-"],
    .roham-theme .roham-pdp-sections-wrap > .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .roham-theme .roham-pdp-card.product,
    .roham-theme .single-product .product.roham-pdp-card {
        width: 100%;
        box-sizing: border-box;
        overflow: visible;
        padding: 20px 8px !important;
    }

    .roham-pdp-trust {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: 4px;
        padding-right: 4px;
        box-sizing: border-box;
    }

    .roham-pdp-trust-list {
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 12px 8px;
        overflow: visible;
    }

    .roham-pdp-trust-list > li {
        flex: 1 1 140px;
        min-width: 120px;
        max-width: 220px;
    }

    .roham-pdp-trust-item span {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .roham-pdp-sellers-wrap {
        max-width: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
    }

    .roham-theme .roham-pdp-specs-block {
        max-width: 100%;
        width: 100%;
    }

    .roham-theme .roham-pdp-sections {
        width: 100%;
    }

    .roham-theme .roham-pdp-secbody {
        padding: 12px 24px 40px !important;
    }

    .roham-theme .single-product .content-expert-evaluation {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .roham-theme .single-product .content-expert-rating {
        padding: 8px 0 20px !important;
    }

    .roham-theme .single-product .content-expert-rating > li {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .roham-theme .single-product .content-expert-rating > li .cell {
        padding-left: 8px;
        padding-right: 0;
    }

    .roham-theme .single-product .content-expert-rating > li .cell:first-child {
        padding-right: 0;
    }
}

/* Gallery */
.roham-theme .roham-pdp-gallery .product-gallery {
    position: relative;
}

@media (min-width: 992px) {
    /* Digikala: main image + vertical icon rail stuck to the RIGHT of the image */
    .roham-theme .roham-pdp-gallery .product-gallery {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 48px;
        grid-template-rows: auto auto;
        gap: 12px 8px;
        align-items: start;
        direction: ltr; /* col1 = image (left), col2 = icons (right) */
    }

    .roham-theme .roham-dgallery {
        grid-column: 1;
        grid-row: 1;
        position: relative;
    }

    .roham-theme .roham-pdp-gallery .gallery-options {
        grid-column: 2;
        grid-row: 1;
        position: static !important;
        top: auto !important;
        right: auto !important;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin: 4px 0 0;
        padding: 0;
        list-style: none;
        z-index: 5;
    }

    .roham-theme .roham-dgallery-thumbs,
    .roham-theme .roham-pdp-gallery #gallery_01f {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100% !important;
        float: none !important;
        margin-top: 0;
        direction: rtl;
    }

    .roham-theme .roham-pdp-gallery .gallery-options button,
    .roham-theme .roham-pdp-gallery .gallery-options a {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 0;
        background: transparent;
        color: #424750 !important;
        box-shadow: none;
        font-size: 20px;
    }

    .roham-theme .roham-pdp-gallery .gallery-options button:hover,
    .roham-theme .roham-pdp-gallery .gallery-options a:hover {
        background: #f0f0f1;
    }
}

.roham-theme .roham-dgallery {
    position: relative;
}

.roham-theme .roham-zoom-host {
    position: relative;
    overflow: visible;
    cursor: crosshair;
}

.roham-theme .roham-zoom-lens {
    position: absolute;
    z-index: 6;
    display: none;
    pointer-events: none;
    border: 1px solid rgba(25, 191, 211, 0.55);
    background: rgba(25, 191, 211, 0.18);
    box-sizing: border-box;
    border-radius: 2px;
}

.roham-theme .roham-zoom-lens.is-on {
    display: block;
}

.roham-theme .roham-zoom-pane {
    position: fixed;
    z-index: 1260;
    display: none;
    pointer-events: none;
    width: 400px;
    height: 400px;
    background-color: #fff;
    background-repeat: no-repeat;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
    overflow: hidden;
}

.roham-theme .roham-zoom-pane.is-on {
    display: block;
}

/* Hide legacy imagezoomsl leftovers if any still inject */
.roham-theme .tracker,
.roham-theme .magnifier,
.roham-theme .cursorshade,
body > .tracker,
body > .magnifier,
body > .cursorshade {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.roham-theme .roham-dgallery-sale {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 4;
    padding: 4px 10px;
    border-radius: 4px;
    background: #ffe6ea;
    color: var(--ds-color-primary);
    font-size: 12px;
    font-weight: 700;
}

.roham-theme .roham-pdp-gallery #img-product-zoom {
    max-width: 100%;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background: #fff;
    border-radius: 8px;
    display: block;
}

.roham-theme .roham-pdp-gallery #gallery_01f,
.roham-theme .roham-dgallery-thumbs {
    width: 100% !important;
    float: none !important;
    margin-top: 12px;
}

.roham-theme .roham-pdp-gallery .gallery-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
    padding: 0;
    margin: 0;
    list-style: none;
}

.roham-theme .roham-pdp-gallery .gallery-items .item {
    position: relative;
    width: 64px;
    height: 64px;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    background: #fff;
    flex-shrink: 0;
}

.roham-theme .roham-pdp-gallery .gallery-items .item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.roham-theme .roham-pdp-gallery .gallery-items .item--more .roham-dgallery-more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .72);
    color: #424750;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
}

.roham-theme .roham-pdp-gallery .gallery-options {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 5;
    display: none;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 992px) {
    .roham-theme .roham-pdp-gallery .gallery-options,
    .roham-theme .roham-pdp-gallery .gallery-options.d-lg-flex {
        position: static !important;
        top: auto !important;
        right: auto !important;
        display: flex !important;
        grid-column: 2;
        grid-row: 1;
        align-items: center;
        gap: 10px;
        margin: 4px 0 0;
    }

    .roham-theme .roham-pdp-gallery .gallery-options button,
    .roham-theme .roham-pdp-gallery .gallery-options a {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 20px;
    }

    .roham-theme .roham-pdp-gallery .gallery-options button:hover,
    .roham-theme .roham-pdp-gallery .gallery-options a:hover {
        background: #f0f0f1 !important;
    }
}

.roham-theme .roham-pdp-gallery .gallery-options li {
    position: relative;
}

.roham-theme .roham-pdp-gallery .gallery-options button,
.roham-theme .roham-pdp-gallery .gallery-options a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #e0e0e2;
    background: #fff;
    color: #424750 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
    text-decoration: none !important;
    cursor: pointer;
}

.roham-theme .roham-pdp-gallery .gallery-options .favorites,
.roham-theme .roham-pdp-gallery .gallery-options .favorites i {
    color: var(--ds-color-primary) !important;
}

.roham-theme .roham-pdp-gallery .gallery-options .tooltip-option {
    display: none;
}

/* Desktop brand row */
.roham-theme .roham-pdp-dmeta {
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    font-size: 12px;
}

.roham-theme .roham-pdp-dmeta a {
    color: #19bfd3 !important;
    text-decoration: none !important;
    font-weight: 500;
}

.roham-theme .roham-pdp-dmeta span {
    color: #c0c2c5;
}

/* Shared chips (mobile + desktop) */
.roham-theme .roham-pdp-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin: 8px 0 14px;
    max-width: 100%;
}

.roham-theme .roham-pdp-rate {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #0c0c0c !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}

.roham-theme .roham-pdp-rate .fa-star {
    color: #f9bc00;
    font-size: 12px;
}

.roham-theme .roham-pdp-rate span {
    color: #81858b;
    font-weight: 500;
}

.roham-theme .roham-pdp-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f0f0f1;
    color: #0c0c0c !important;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}

.roham-theme .roham-pdp-chip .fa-chevron-left {
    font-size: 10px;
    color: #a1a3a8;
}

@media (min-width: 992px) {
    .roham-theme .roham-pdp-chips {
        gap: 6px 14px;
        margin: 4px 0 16px;
        padding-bottom: 12px;
        border-bottom: 1px solid #f0f0f1;
    }

    .roham-theme .roham-pdp-chip {
        padding: 0;
        border-radius: 0;
        background: transparent;
        color: #19bfd3 !important;
        font-size: 12px;
        font-weight: 500;
    }

    .roham-theme .roham-pdp-chip .fa-chevron-left {
        display: none;
    }
}

/* Digikala desktop circular color swatches */
@media (min-width: 992px) {
    .roham-theme .roham-pdp-dmeta {
        display: flex;
    }

    .roham-theme .roham-pdp-info .product-directory {
        display: none !important;
    }

    .roham-theme .roham-pdp-variants .product-variants,
    .roham-theme .roham-pdp-vlist {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none;
        max-width: none;
    }

    .roham-theme .roham-pdp-vlist > li {
        margin: 0;
        display: block;
    }

    .roham-theme .roham-pdp-vopt {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        min-height: 40px;
        margin: 0;
        padding: 2px;
        border: 2px solid transparent;
        border-radius: 50%;
        background: #fff;
        cursor: pointer;
        box-shadow: none;
    }

    .roham-theme .roham-pdp-vopt.is-selected,
    .roham-theme .roham-pdp-vopt:has(input:checked) {
        border-color: #19bfd3;
        box-shadow: none;
    }

    .roham-theme .roham-pdp-vopt .c-ui-variant-shape,
    .roham-theme .roham-pdp-vopt-swatch {
        position: relative !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        border: 1px solid rgba(0, 0, 0, .08);
        right: auto;
        top: auto;
        overflow: hidden;
    }

    .roham-theme .roham-pdp-vopt-name,
    .roham-theme .roham-pdp-vopt .c-ui-variant--check {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        border: 0 !important;
        white-space: nowrap !important;
    }

    .roham-theme .roham-pdp-vopt-check,
    .roham-theme .roham-pdp-vopt-swatch .roham-pdp-vopt-check {
        display: none !important;
        position: static !important;
        color: #fff !important;
        font-size: 12px !important;
        line-height: 1;
        z-index: 1;
        background: transparent !important;
        inset: auto !important;
    }

    .roham-theme .roham-pdp-vopt.is-selected .roham-pdp-vopt-swatch,
    .roham-theme .roham-pdp-vopt:has(input:checked) .roham-pdp-vopt-swatch {
        box-shadow: inset 0 0 0 999px rgba(25, 191, 211, .88);
    }

    .roham-theme .roham-pdp-vopt.is-selected .roham-pdp-vopt-check,
    .roham-theme .roham-pdp-vopt:has(input:checked) .roham-pdp-vopt-check,
    .roham-theme .roham-pdp-vopt.is-selected .roham-pdp-vopt-swatch .roham-pdp-vopt-check,
    .roham-theme .roham-pdp-vopt:has(input:checked) .roham-pdp-vopt-swatch .roham-pdp-vopt-check {
        display: inline-block !important;
    }

    .roham-theme .roham-pdp-vopt input[type=radio] {
        position: absolute;
        opacity: 0;
        pointer-events: none;
        width: 0;
        height: 0;
    }

    .roham-theme .c-product-additional-info {
        margin-top: 16px;
        padding: 12px 14px;
        border: 1px solid #e0e0e2;
        border-radius: 8px;
        background: #f7f7f8;
        font-size: 12px;
        line-height: 1.8;
        color: #424750;
    }

    .roham-theme .c-product-additional-info .c-product-additional-item {
        display: flex;
        gap: 8px;
        align-items: flex-start;
        margin: 0;
    }
}

/* Trust icons strip — Digikala */
.roham-pdp-trust {
    margin: 24px 0 8px;
    padding: 20px 8px;
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 12px;
}

.roham-pdp-trust-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.roham-pdp-trust-list > li {
    flex: 1 1 140px;
    min-width: 120px;
    max-width: 220px;
}

.roham-pdp-trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    text-decoration: none !important;
    color: #81858b !important;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
}

.roham-pdp-trust-item img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .85;
}

/* Sellers — Digikala rows */
.roham-pdp-sellers-wrap {
    margin: 28px 0 8px;
}

.roham-pdp-sellers-title {
    position: relative;
    display: inline-block;
    margin: 0 0 18px;
    padding: 0 0 10px;
    font-size: 16px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-pdp-sellers-title::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 80px;
    height: 3px;
    border-radius: 2px;
    background: #ef4056;
}

.roham-pdp-sellers-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.roham-pdp-srow {
    display: grid;
    grid-template-columns: minmax(200px, 1.3fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(200px, .95fr);
    gap: 16px 20px;
    align-items: center;
    padding: 18px 20px;
    background: #f7f7f8;
    border: 1px solid #f0f0f1;
    border-radius: 8px;
}

.roham-pdp-srow.is-first {
    background: #fff;
    border-color: #e0e0e2;
}

.roham-pdp-srow-seller {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.roham-pdp-srow-logo {
    width: 40px !important;
    height: 40px !important;
    border-radius: 8px;
    object-fit: cover;
    background: #fff;
    border: 1px solid #f0f0f1;
    flex-shrink: 0;
    position: static !important;
}

.roham-pdp-srow-icon {
    display: none;
}

.roham-pdp-srow-name {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-pdp-srow-badge {
    display: inline-flex;
    padding: 2px 8px;
    border-radius: 999px;
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 11px;
    font-weight: 600;
}

.roham-pdp-srow-meta {
    margin-top: 4px;
    font-size: 12px;
    color: #81858b;
}

.roham-pdp-srow-perf.is-great {
    color: #00a693;
    font-weight: 600;
}

.roham-pdp-srow-perf.is-good {
    color: #b1b64d;
    font-weight: 600;
}

.roham-pdp-srow-perf.is-mid {
    color: #a1a3a8;
    font-weight: 600;
}

.roham-pdp-srow-dot {
    margin: 0 4px;
    color: #c0c2c5;
    font-weight: 400;
}

.roham-pdp-srow-ship,
.roham-pdp-srow-warranty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: 12px;
    color: #424750;
    line-height: 1.7;
    min-width: 0;
}

.roham-pdp-srow-ship-line,
.roham-pdp-srow-ship-sub,
.roham-pdp-srow-warranty {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.roham-pdp-srow-ship i,
.roham-pdp-srow-warranty i {
    margin-top: 2px;
    font-size: 15px;
    flex-shrink: 0;
    width: 18px;
    text-align: center;
}

.roham-pdp-srow-ship-line i {
    color: #19bfd3;
}

.roham-pdp-srow-ship-sub {
    font-size: 11px;
    color: #81858b;
    padding-right: 26px;
}

.roham-pdp-srow-ship-sub i {
    color: #19bfd3;
    font-size: 12px;
}

.roham-pdp-srow-warranty i {
    color: #81858b;
}

.roham-pdp-srow-warranty img {
    display: none;
}

.roham-pdp-srow-buy {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.roham-pdp-srow-price {
    text-align: left;
}

.roham-pdp-srow-was {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-bottom: 2px;
}

.roham-pdp-srow-was del {
    font-size: 12px;
    color: #a1a3a8;
}

.roham-pdp-srow-off {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ef4056;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.roham-pdp-srow-now {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px;
}

.roham-pdp-srow-now strong {
    font-size: 18px;
    font-weight: 800;
    color: #0c0c0c;
}

.roham-pdp-srow-now span {
    font-size: 11px;
    color: #62666d;
}

.roham-pdp-srow-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 8px !important;
    background: #ef4056 !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
}

.roham-pdp-srow-cta:hover {
    filter: brightness(.96);
    color: #fff !important;
}

/* Digikala product rails (related / cross) */
.roham-dk-rail {
    margin: 28px 0 8px;
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    overflow: hidden;
}

.roham-dk-rail--cross {
    margin: 24px 0 8px;
}

.roham-dk-rail-title {
    position: relative;
    display: inline-block;
    margin: 16px 20px 0;
    padding: 0 0 10px;
    font-size: 16px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-dk-rail-title::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    border-radius: 2px;
    background: #ef4056;
}

.roham-dk-rail-body {
    padding: 8px 4px 16px;
    position: relative;
}

.roham-dk-rail-body .slider-lg {
    overflow: hidden;
    padding: 0 8px;
}

.roham-dk-rail-body .swiper-slide {
    height: auto;
    border-left: 1px solid #f0f0f1;
    box-sizing: border-box;
}

.roham-dk-rail-body .swiper-slide:last-child {
    border-left: 0;
}

.roham-theme .roham-dk-rail .roham-rail-card {
    padding: 12px 10px 16px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.roham-theme .roham-rail-card-stock {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 500;
    color: #ef4056;
    line-height: 1.6;
}

.roham-theme .roham-dk-rail-body .swiper-button-next,
.roham-theme .roham-dk-rail-body .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: -20px;
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
    color: #424750;
}

.roham-theme .roham-dk-rail-body .swiper-button-next:after,
.roham-theme .roham-dk-rail-body .swiper-button-prev:after {
    font-size: 14px;
    font-weight: 700;
}

.roham-theme .roham-dk-rail-body .swiper-button-prev {
    right: auto;
    left: 8px;
}

.roham-theme .roham-dk-rail-body .swiper-button-next {
    left: auto;
    right: 8px;
}

@media (max-width: 1199.98px) {
    .roham-pdp-srow {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .roham-pdp-srow-buy {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .roham-pdp-srow-cta {
        width: auto;
        min-width: 160px;
    }
}

@media (max-width: 767.98px) {
    .roham-pdp-srow {
        grid-template-columns: 1fr;
    }

    .roham-pdp-srow-buy {
        flex-direction: column;
        align-items: stretch;
    }

    .roham-pdp-srow-cta {
        width: 100%;
    }

    .roham-dk-rail {
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        margin-left: -12px;
        margin-right: -12px;
    }
}

/* Buy box Digikala polish extras — superseded by .roham-dk-buybox */
.roham-theme .roham-pdp-buy .c-product-seller-name {
    color: #19bfd3;
    font-weight: 700;
}

.roham-theme .roham-pdp-buy .js-add-cart {
    background: var(--ds-color-primary) !important;
    border-radius: 8px !important;
    min-height: 48px;
    font-weight: 700;
}

/* Info column */
.roham-theme .roham-pdp-info .product-title,
.roham-theme .single-product .roham-pdp-info .product-title,
.roham-theme .roham-pdp-title {
    display: block !important;
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
    border-bottom: none;
    padding: 0;
    align-items: stretch;
    flex-wrap: unset !important;
    -webkit-box-align: unset !important;
}

.roham-theme .roham-pdp-info .product-title h1,
.roham-theme .single-product .roham-pdp-info .product-title h1 {
    font-size: 16px !important;
    line-height: 1.9 !important;
    font-weight: 700 !important;
    color: #0c0c0c !important;
    margin: 0 0 4px;
    width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
}

.roham-theme .roham-pdp-info .product-title-en {
    display: block;
    font-size: 12px;
    color: #81858b;
    font-weight: 400;
    margin-top: 4px;
}

.roham-theme .roham-pdp-info .product-directory ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    font-size: 12px;
    color: #81858b;
}

.roham-theme .roham-pdp-info .product-directory a {
    color: #19bfd3 !important;
}

.roham-theme .chat-with-seller.roham-pdp-chat,
.roham-theme .roham-pdp-chat {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    margin: 14px 0 0;
    background: linear-gradient(135deg, #f0fbfd 0%, #eef7ff 100%) !important;
    border: 1px solid #d4eef3;
    border-radius: 12px;
    position: relative !important;
    box-shadow: 0 2px 10px rgba(25, 191, 211, .06);
}

.roham-theme .roham-pdp-chat-copy {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

.roham-theme .roham-pdp-chat-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(25, 191, 211, .14);
    color: #0f8fa3;
    font-size: 20px;
}

.roham-theme .roham-pdp-chat-title {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #0c0c0c;
    margin: 0 0 2px;
}

.roham-theme .roham-pdp-chat-text,
.roham-theme .roham-pdp-chat h6 {
    margin: 0;
    font-size: 11px;
    font-weight: 500;
    color: #62666d;
    white-space: normal !important;
    line-height: 1.6;
}

.roham-theme .roham-pdp-chat .chat-btn,
.roham-theme .roham-pdp-chat .chat-btn-dng,
.roham-theme .roham-pdp-chat-btn,
.roham-theme .chat-with-seller .chat-btn-dng {
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    flex-shrink: 0;
    background: linear-gradient(145deg, #2ad0e4, #19bfd3) !important;
    border: 0 !important;
    color: #fff !important;
    border-radius: 10px !important;
    font-size: 12px;
    font-weight: 700;
    padding: 9px 16px;
    min-height: 38px;
    box-shadow: 0 4px 12px rgba(25, 191, 211, .28) !important;
}

.roham-theme .roham-pdp-info .product-variant {
    margin: 16px 0 0;
}

.roham-theme .roham-pdp-variant-label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: #0c0c0c;
    margin-bottom: 10px;
}

.roham-theme .roham-pdp-variant-selected {
    font-weight: 500;
    color: #424750;
}

.roham-theme .roham-pdp-variant-dot {
    display: none;
}

/* Kill legacy empty params height gap */
.roham-theme .roham-pdp-info .product-params,
.single-product .roham-pdp-info .product-params {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    display: none !important;
}

.roham-theme .roham-pdp-delivery {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #f2f5ff;
    color: #3f4064;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
}

.roham-theme .roham-pdp-delivery i {
    color: #19bfd3;
    font-size: 16px;
    flex-shrink: 0;
}

.roham-theme .roham-pdp-features {
    margin-top: 18px;
}

.roham-theme .roham-pdp-features-head {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
}

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

.roham-theme .roham-pdp-feature {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 64px;
    padding: 10px 12px;
    background: #f7f7f8;
    border-radius: 8px;
}

.roham-theme .roham-pdp-feature-key {
    font-size: 11px;
    color: #81858b;
    line-height: 1.5;
}

.roham-theme .roham-pdp-feature-val {
    font-size: 12px;
    font-weight: 600;
    color: #0c0c0c;
    line-height: 1.6;
    word-break: break-word;
}

.roham-theme .roham-pdp-features-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 10px;
    color: #19bfd3 !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
}

.roham-theme .roham-pdp-features-more:hover {
    color: #0ea5b8 !important;
}

.roham-theme .roham-pdp-notice,
.roham-theme .roham-pdp-info .c-product-additional-info {
    margin-top: 16px;
    padding: 0;
    background: transparent;
    border: 0;
}

.roham-theme .roham-pdp-notice .c-product-additional-item,
.roham-theme .roham-pdp-info .c-product-additional-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 12px 14px;
    background: #f7f7f8;
    border: 1px solid #f0f0f1;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.9;
    color: #62666d;
}

.roham-theme .roham-pdp-notice .c-product-additional-item > i,
.roham-theme .roham-pdp-info .c-product-additional-item > i {
    margin-top: 3px;
    color: #a1a3a8;
    font-size: 14px;
    flex-shrink: 0;
}

.roham-theme .roham-pdp-notice-body {
    flex: 1;
    min-width: 0;
}

.roham-theme .roham-pdp-notice-body p {
    margin: 0;
}

.roham-theme .roham-pdp-info .product-feature-box {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #f0f0f1;
}

.roham-theme .roham-pdp-info .product-feature-item {
    font-size: 11px;
    color: #81858b !important;
}

/* Buy box — Digikala exact card */
.roham-theme .roham-pdp-buy .drilldown-menu,
.roham-theme .roham-pdp-buy #product-seller-info-box {
    background: transparent;
    position: relative;
    margin: 0 !important;
    max-width: none !important;
}

.roham-theme .roham-pdp-buy .skeleton-loader {
    display: none !important;
}

.roham-theme .roham-pdp-buy .roham-dk-buybox,
.roham-theme .roham-pdp-buy #product-seller-info.roham-dk-buybox,
.single-product #product-seller-info.roham-dk-buybox,
.single-product #product-seller-info-box #product-seller-info.roham-dk-buybox {
    display: block !important;
    background: #fff !important;
    border: 1px solid #e0e0e2 !important;
    border-radius: 8px !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    overflow: hidden;
}

/* Kill legacy accordion styles that break Digikala buy box */
.single-product #product-seller-info.roham-dk-buybox ul,
.single-product .roham-dk-buybox ul {
    position: static !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.single-product #product-seller-info.roham-dk-buybox ul li,
.single-product .roham-dk-buybox ul li {
    position: static !important;
    font-size: inherit !important;
    color: inherit !important;
    cursor: default !important;
}

.single-product #product-seller-info.roham-dk-buybox ul li a,
.single-product .roham-dk-buybox ul li a {
    padding: 0 !important;
    border: 0 !important;
}

.single-product #product-seller-info.roham-dk-buybox ul li i,
.single-product #product-seller-info.roham-dk-buybox i,
.single-product .roham-dk-buybox ul li i,
.single-product .roham-dk-buybox i {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    font-size: inherit;
}

.single-product #product-seller-info.roham-dk-buybox ul li img,
.single-product .roham-dk-buybox ul li img,
.single-product .roham-dk-buybox img {
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
}

.single-product #product-seller-info.roham-dk-buybox ul ul:after,
.single-product .roham-dk-buybox ul ul:after {
    display: none !important;
    content: none !important;
}

.roham-theme .single-product .dk-btn-info,
.roham-theme .single-product .btn-add-to-cart,
.roham-theme .product-add a.js-add-cart,
.roham-theme .product-add a.js-add-cart-bundle {
    background: var(--roham-red, #ef4056) !important;
    border-radius: 8px !important;
    width: 100%;
    min-height: 48px;
    font-weight: 700;
    font-size: 14px;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none !important;
    box-shadow: none !important;
}

/* ===== Digikala buy box internals ===== */
.roham-dk-buybox {
    color: #0c0c0c;
    font-size: 12px;
    line-height: 1.7;
}

.roham-dk-seller {
    padding: 16px 16px 14px;
}

.roham-dk-seller-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
}

.roham-dk-seller-label {
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-dk-seller-others {
    color: #19bfd3 !important;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none !important;
    white-space: nowrap;
}

.roham-dk-seller-others:hover {
    color: #0ea5b8 !important;
}

.roham-dk-seller-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.roham-dk-seller-logo {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: #f0f0f1;
    border: 1px solid #f0f0f1;
    position: static !important;
    top: auto !important;
    right: auto !important;
}

.roham-dk-seller-meta {
    min-width: 0;
    flex: 1;
}

.roham-dk-seller-name {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.5;
}

.roham-dk-seller-badge {
    display: inline-flex;
    padding: 1px 8px;
    border-radius: 999px;
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 10px;
    font-weight: 600;
}

.roham-dk-seller-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: 11px;
    color: #81858b;
}

.roham-dk-dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #c0c2c5;
    flex-shrink: 0;
}

.roham-dk-perf.is-great {
    color: #00a693;
    font-weight: 600;
}

.roham-dk-perf.is-good {
    color: #19bfd3;
    font-weight: 600;
}

.roham-dk-perf.is-mid {
    color: #a1a3a8;
    font-weight: 600;
}

.roham-dk-fastship {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 16px 14px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff5ef;
    color: #424750 !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.6;
}

.roham-dk-fastship:hover {
    background: #ffeee4;
    color: #0c0c0c !important;
}

.roham-dk-fastship-ico {
    display: inline-flex;
    color: #f57c00;
    font-size: 14px;
    flex-shrink: 0;
}

.roham-dk-fastship-txt {
    flex: 1;
    min-width: 0;
}

.roham-dk-chevron {
    color: #a1a3a8;
    font-size: 11px;
    flex-shrink: 0;
}

.roham-dk-price {
    padding: 4px 16px 16px;
    border-top: 1px solid #f0f0f1;
}

.roham-dk-price-was {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 2px;
}

.roham-dk-price-was del {
    color: #c0c2c5;
    font-size: 12px;
    font-weight: 500;
    text-decoration: line-through;
}

.roham-dk-off {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    padding: 1px 8px;
    border-radius: 16px;
    background: #ef4056;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
}

.roham-dk-price-now {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 6px;
    margin-bottom: 12px;
}

.roham-dk-price-now #price-with-wholesale-price,
.roham-dk-price-now > span:first-child {
    font-size: 22px;
    font-weight: 800;
    color: #0c0c0c;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.roham-dk-currency {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #62666d !important;
}

.roham-dk-cta {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border: none !important;
    border-radius: 8px !important;
    background: #ef4056 !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
}

.roham-dk-cta:hover {
    filter: brightness(.96);
    color: #fff !important;
    text-decoration: none !important;
}

.roham-dk-cta.is-muted,
.roham-dk-cta:disabled {
    background: #a1a3a8 !important;
    cursor: default;
    filter: none;
}

/* Digikala in-cart qty (replaces Add CTA) */
.roham-dk-actions,
.roham-pdp-buy2-actions {
    width: 100%;
}

.roham-incart {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin-top: 12px;
}

.roham-incart-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
}

.roham-incart-label {
    font-size: 12px;
    font-weight: 500;
    color: #3f4064;
    line-height: 1.7;
}

.roham-incart-link {
    font-size: 12px;
    font-weight: 600;
    color: #19bfd3 !important;
    text-decoration: none !important;
    line-height: 1.6;
}

.roham-incart-link:hover {
    color: #0ea5b8 !important;
}

.roham-incart-qty {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 110px;
    min-height: 44px;
    padding: 4px;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    background: #fff;
    flex-shrink: 0;
}

.roham-incart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: #ef4056;
    font-size: 20px;
    line-height: 1;
    padding: 0;
    cursor: pointer;
    border-radius: 6px;
}

.roham-incart-btn:hover {
    background: #fff0f2;
}

.roham-incart-btn:disabled {
    color: #c0c2c5;
    cursor: default;
    background: transparent;
}

.roham-incart-count {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    line-height: 1.1;
}

.roham-incart-count strong,
.roham-incart-count [data-roham-incart-qty] {
    font-size: 16px;
    font-weight: 700;
    color: #ef4056;
}

.roham-incart-max {
    font-size: 10px;
    font-weight: 500;
    color: #a1a3a8;
    margin-top: 2px;
}

.roham-incart--buy2 {
    margin-top: 14px;
}

.roham-incart--buy2 .roham-incart-qty {
    width: 104px;
    min-height: 40px;
}

.roham-dk-stock {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    margin: 10px 0 0;
    padding: 7px 10px;
    border-radius: 8px;
    background: #fff5f6;
    color: var(--ds-color-primary, #ef4056);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    box-sizing: border-box;
}

.roham-dk-stock i {
    flex-shrink: 0;
    font-size: 14px;
    color: #f9a825;
    line-height: 1;
}

.roham-dk-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid #f0f0f1;
    font-size: 12px;
    color: #0c0c0c;
    line-height: 1.7;
}

.roham-dk-row-ico {
    width: 18px;
    margin-top: 2px;
    color: #424750 !important;
    font-size: 15px !important;
    text-align: center;
    flex-shrink: 0;
    position: static !important;
}

.roham-dk-ship {
    padding: 14px 16px;
    border-top: 1px solid #f0f0f1;
}

.roham-dk-ship-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 500;
    color: #0c0c0c;
}

.roham-dk-ship-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    position: relative;
}

.roham-dk-ship-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    position: relative;
    padding: 0 0 14px;
    font-size: 11px;
    color: #62666d;
    line-height: 1.7;
}

.roham-dk-ship-item:last-child {
    padding-bottom: 0;
}

.roham-dk-ship-rail {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 12px;
    flex-shrink: 0;
    align-self: stretch;
}

.roham-dk-ship-item:not(:last-child) .roham-dk-ship-rail::after {
    content: "";
    position: absolute;
    top: 14px;
    bottom: -14px;
    left: 50%;
    width: 0;
    border-right: 1px dashed #e0e0e2;
    transform: translateX(-50%);
}

.roham-dk-ship-bullet {
    position: relative;
    z-index: 1;
    width: 11px;
    height: 11px;
    margin-top: 4px;
    border-radius: 50%;
    border: 2px solid #e0e0e2;
    background: #fff;
    flex-shrink: 0;
    box-sizing: border-box;
}

.roham-dk-ship-bullet.is-red {
    border-color: #ef4056;
}

.roham-dk-ship-bullet.is-blue {
    border-color: #19bfd3;
}

.roham-dk-ship-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    margin-top: 1px;
    font-size: 13px;
    flex-shrink: 0;
    line-height: 1;
}

.roham-dk-ship-ico i {
    font-size: 13px !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
}

.roham-dk-ship-ico.is-red,
.roham-dk-ship-ico.is-red i {
    color: #ef4056 !important;
}

.roham-dk-ship-ico.is-blue,
.roham-dk-ship-ico.is-blue i {
    color: #19bfd3 !important;
}

.roham-dk-ship-txt {
    flex: 1;
    min-width: 0;
}

.roham-dk-ship-sep {
    margin: 0 4px;
    color: #c0c2c5;
}

.roham-dk-wholesale {
    border-top: 1px solid #f0f0f1;
}

.roham-dk-wholesale summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    list-style: none;
    cursor: pointer;
    font-size: 12px;
    color: #0c0c0c;
}

.roham-dk-wholesale summary::-webkit-details-marker {
    display: none;
}

.roham-dk-wholesale summary span {
    flex: 1;
}

.roham-dk-wholesale[open] summary .roham-dk-chevron {
    transform: rotate(-90deg);
}

.roham-dk-wholesale-body {
    padding: 0 16px 14px;
}

.roham-dk-wholesale-body table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.roham-dk-wholesale-body th,
.roham-dk-wholesale-body td {
    padding: 6px 8px;
    border: 1px solid #f0f0f1;
    text-align: center;
}

.roham-dk-plus {
    padding: 14px 16px;
    border-top: 1px solid #f0f0f1;
}

.roham-dk-plus-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #0c0c0c;
}

.roham-dk-plus-head i {
    color: #b12ba8 !important;
    font-size: 14px !important;
    position: static !important;
}

.roham-dk-plus-body {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding-right: 22px;
    font-size: 11px;
    color: #62666d;
    line-height: 1.7;
}

.roham-dk-plus-body i {
    color: #b12ba8 !important;
    margin-top: 2px;
    flex-shrink: 0;
    position: static !important;
    font-size: 13px !important;
}

.roham-dk-monitor {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 12px 14px;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    background: #fff;
    font-size: 11px;
    color: #62666d;
}

.roham-dk-monitor > i:first-child {
    color: #a1a3a8;
    font-size: 14px;
}

.roham-dk-monitor span {
    flex: 1;
}

.roham-dk-better {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 0 4px;
    color: #81858b !important;
    font-size: 12px;
    text-decoration: none !important;
}

.roham-dk-better:hover {
    color: #424750 !important;
}

.roham-dk-better i {
    color: #a1a3a8;
}

/* Digikala buybox — seller chat as a quiet row (same language as warranty / wholesale) */
.roham-dk-chat {
    appearance: none;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 14px 16px;
    border: 0;
    border-top: 1px solid #f0f0f1;
    border-radius: 0;
    background: #fff;
    color: inherit;
    text-align: right;
    cursor: pointer;
    transition: background .15s ease;
}

.roham-dk-chat:hover {
    background: #fafafa;
}

.roham-dk-chat:active {
    background: #f5f5f5;
}

.roham-dk-chat .roham-dk-row-ico {
    margin-top: 1px;
    color: #424750 !important;
    font-size: 17px !important;
}

.roham-dk-chat-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
    flex: 1;
    text-align: right;
}

.roham-dk-chat-copy strong {
    display: block;
    width: 100%;
    font-size: 13px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.4;
}

.roham-dk-chat-copy span {
    display: block;
    width: 100%;
    font-size: 11px;
    font-weight: 500;
    color: #81858b;
    line-height: 1.5;
}

.roham-dk-chat .roham-dk-chevron {
    flex-shrink: 0;
    margin: 0;
    color: #a1a3a8;
    font-size: 12px;
}

@media (max-width: 991.98px) {
    .roham-dk-chat {
        display: none !important;
    }
}

.roham-dk-empty {
    padding: 20px 16px 8px;
    text-align: center;
}

.roham-dk-empty strong {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    color: #0c0c0c;
}

.roham-dk-empty p {
    margin: 0 0 12px;
    font-size: 12px;
    color: #81858b;
    line-height: 1.8;
}

.roham-dk-buybox > .roham-dk-cta {
    margin: 0 16px 16px;
    width: calc(100% - 32px);
}

.roham-theme .roham-pdp-buy .bottom-seller-info {
    margin-top: 0;
}

.roham-theme .roham-pdp-buy .product-add {
    padding: 0 !important;
}

/* Digikala secondary sticky buy box (beside specs / reviews / Q&A) */
.roham-pdp-buy2 {
    direction: rtl;
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    padding: 16px;
    box-shadow: none;
}

.roham-pdp-buy2-sale {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: -16px -16px 16px;
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f1;
    color: #ef4056;
    font-size: 12px;
    font-weight: 700;
}

.roham-pdp-buy2-timer {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: .04em;
    color: #ef4056;
    direction: ltr;
    unicode-bidi: isolate;
}

.roham-pdp-buy2-product {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 0;
    border-bottom: 1px solid #f0f0f1;
}

.roham-pdp-buy2-product img,
.roham-pdp-buy2-product [data-roham-buy2-thumb] {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain;
    border-radius: 4px;
    background: #fff;
    flex-shrink: 0;
    position: static !important;
}

.roham-pdp-buy2-product-meta {
    flex: 1;
    min-width: 0;
}

.roham-pdp-buy2-title {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.8;
    color: #0c0c0c;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.roham-pdp-buy2-color {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 12px;
    color: #62666d;
}

.roham-pdp-buy2-swatch {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .08);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4);
    flex-shrink: 0;
}

.roham-pdp-buy2-meta {
    margin: 0;
    padding: 4px 0 8px;
}

.roham-pdp-buy2-meta-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    font-size: 12px;
    line-height: 1.6;
    color: #0c0c0c;
}

.roham-pdp-buy2-meta-row > i {
    width: 20px;
    text-align: center;
    color: #81858b !important;
    font-size: 14px !important;
    flex-shrink: 0;
    position: static !important;
    top: auto !important;
    right: auto !important;
}

.roham-pdp-buy2-meta-row .roham-pdp-buy2-ico-stock,
.roham-pdp-buy2-meta-row .roham-pdp-buy2-ico-stock.fas {
    color: #19bfd3 !important;
}

.roham-pdp-buy2-seller-logo {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    position: static !important;
    background: #f0f0f1;
}

.roham-pdp-buy2-price {
    margin: 4px 0 12px;
    text-align: left;
}

.roham-pdp-buy2-was {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 2px;
}

.roham-pdp-buy2-was del {
    color: #c0c2c5;
    font-size: 12px;
    font-weight: 500;
    text-decoration: line-through;
}

.roham-pdp-buy2-off {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    padding: 1px 8px;
    border-radius: 16px;
    background: #ef4056;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
}

.roham-pdp-buy2-now {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 6px;
}

.roham-pdp-buy2-now strong,
.roham-pdp-buy2-now [data-roham-buy2-amount] {
    font-size: 20px;
    font-weight: 800;
    color: #0c0c0c;
    line-height: 1.2;
}

.roham-pdp-buy2-now span {
    font-size: 11px;
    font-weight: 500;
    color: #62666d;
}

.roham-pdp-buy2-cta {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border: none !important;
    border-radius: 8px !important;
    background: #ef4056 !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none !important;
    box-shadow: none !important;
}

.roham-pdp-buy2-cta:hover {
    filter: brightness(.96);
    color: #fff !important;
}

.roham-pdp-buy2-cta.is-disabled,
.roham-pdp-buy2-cta:disabled {
    background: #a1a3a8 !important;
    cursor: not-allowed;
    filter: none;
}

/* Sticky mobile CTA — compact Digikala-style bar */
.roham-pdp-sticky {
    display: none;
    position: fixed;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 1055;
    padding: 0 !important;
    background: transparent;
    border: none;
    box-shadow: none;
    box-sizing: border-box;
    flex-direction: column;
    align-items: stretch;
}

.roham-pdp-sticky .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
    border-radius: 0;
    background: rgba(255, 255, 255, .94);
    border: none;
    border-top: 1px solid #f0f0f1;
    box-shadow: 0 -6px 20px rgba(12, 12, 12, .06);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-sizing: border-box;
    min-width: 0;
}

.roham-pdp-sticky-side {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 48%;
}

.roham-pdp-sticky .price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    flex: 0 1 auto;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}

.roham-pdp-sticky .js-roham-sticky-add {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    background: var(--ds-color-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    min-height: 40px;
    height: 40px;
    padding: 0 12px;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: -.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 4px 12px rgba(239, 64, 86, .22);
}

.roham-pdp-sticky .roham-pdp-sticky-was {
    display: flex;
    align-items: center;
    gap: 5px;
}

.roham-pdp-sticky .roham-pdp-sticky-was del {
    font-size: 10px;
    color: #a1a3a8;
    text-decoration: line-through;
}

.roham-pdp-sticky .roham-pdp-sticky-off {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 16px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--ds-color-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.roham-pdp-sticky .roham-pdp-sticky-now {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 3px;
    white-space: nowrap;
}

.roham-pdp-sticky .roham-pdp-sticky-now strong,
.roham-pdp-sticky .price strong {
    font-weight: 800;
    font-size: 14px;
    color: #0c0c0c;
    line-height: 1.15;
    white-space: nowrap;
}

.roham-pdp-sticky .roham-pdp-sticky-now span,
.roham-pdp-sticky .price > span {
    font-size: 10px;
    font-weight: 500;
    color: #81858b;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Mobile PDP top bar (close / search / cart / more) */
.roham-pdp-mbar {
    display: none;
}

.roham-pdp-mbar-spacer {
    display: none;
}

@media (max-width: 991.98px) {
    html.roham-pdp-page .roham-bottom-nav,
    body.roham-pdp-page .roham-bottom-nav {
        display: none !important;
    }

    html.roham-pdp-page .header-responsive .header-bottom,
    body.roham-pdp-page .header-responsive .header-bottom {
        display: none !important;
    }

    html.roham-pdp-page .header-responsive.is-fixed,
    body.roham-pdp-page .header-responsive.is-fixed {
        background: transparent;
        box-shadow: none;
        pointer-events: none;
    }

    html.roham-pdp-page .header-responsive .roham-mnav-host,
    body.roham-pdp-page .header-responsive .roham-mnav-host {
        pointer-events: auto;
    }

    html.roham-pdp-page .roham-mheader-spacer,
    body.roham-pdp-page .roham-mheader-spacer {
        display: none !important;
        height: 0 !important;
    }

    .roham-pdp-mbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1105;
        height: 48px;
        padding: 0 8px;
        padding-top: env(safe-area-inset-top, 0px);
        background: #fff;
        border-bottom: 1px solid #f0f0f1;
    }

    .roham-pdp-mbar-spacer {
        display: block;
        height: calc(48px + env(safe-area-inset-top, 0px));
    }

    .roham-pdp-mbar-btn {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: #0c0c0c;
        font-size: 18px;
        line-height: 1;
        text-decoration: none !important;
        cursor: pointer;
    }

    .roham-pdp-mbar-close {
        font-size: 20px;
    }

    .roham-pdp-mbar-actions {
        display: flex;
        align-items: center;
        gap: 2px;
    }

    .roham-pdp-mbar-badge {
        position: absolute;
        top: 4px;
        left: 4px;
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        border-radius: 999px;
        background: var(--ds-color-primary);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        line-height: 16px;
        text-align: center;
    }

    .roham-pdp-mbar-more .dropdown-menu {
        min-width: 180px;
        border: 1px solid #e0e0e2;
        border-radius: 12px;
        box-shadow: var(--ds-shadow-lg);
        padding: 6px 0;
        font-size: 13px;
    }

    .roham-pdp-mbar-more .dropdown-item {
        display: flex;
        align-items: center;
        padding: 10px 14px;
        color: #0c0c0c;
        background: transparent;
        border: 0;
        width: 100%;
        text-align: right;
        cursor: pointer;
    }

    .roham-pdp-sticky {
        display: flex;
        flex-direction: column;
        padding: 0 !important;
    }

    .roham-theme .roham-pdp-sticky .price {
        align-items: flex-start;
    }

    .roham-theme .roham-pdp-sticky .roham-pdp-sticky-now strong {
        font-size: 14px;
    }

    body.roham-pdp-page .roham-main,
    html.roham-pdp-page .roham-main,
    .roham-theme:has(.single-product) .roham-main {
        padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    }

    body.roham-pdp-page:has(.roham-pdp-sticky.has-stock) .roham-main,
    html.roham-pdp-page:has(.roham-pdp-sticky.has-stock) .roham-main {
        padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    }

    .roham-theme .roham-pdp-hero.hero-product-detail {
        display: block !important;
    }

    .roham-theme .roham-pdp-card.product {
        border: none;
        border-radius: 16px 16px 0 0;
        padding: 12px;
        margin-top: 0;
    }

    .roham-theme .roham-pdp-gallery #img-product-zoom {
        aspect-ratio: 1 / 1;
        max-height: 70vw;
    }

    .roham-theme .roham-pdp-gallery .gallery-options {
        flex-direction: row;
        top: auto;
        bottom: 12px;
        right: 12px;
        left: auto;
    }

    .roham-theme .roham-pdp-info {
        padding: 12px 0 0;
    }

    .roham-theme .roham-pdp-buy {
        margin-top: 12px;
    }

    .roham-theme .roham-pdp-info .product-feature-box {
        display: none;
    }

    /* Hide desktop buy boxes — price lives in sticky CTA only */
    .roham-theme .roham-pdp-buy,
    .roham-theme .product-detail--price.roham-pdp-buy,
    .roham-theme .roham-pdp-upper-aside,
    .roham-theme .roham-pdp-lower-aside {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
        pointer-events: none;
    }

    .roham-theme #gallery_01f,
    .roham-theme .gallery-items.swiper-container {
        display: none !important;
    }

    .roham-theme .roham-pdp-card.product {
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 0;
        box-shadow: none;
    }

    .roham-theme .roham-pdp-breadcrumb {
        padding: 8px 12px 10px;
        font-size: 11px;
        color: #81858b;
    }

    .roham-theme .roham-pdp-breadcrumb a {
        color: #81858b !important;
    }

    /* Digikala mobile gallery: 2 small LEFT + 1 large RIGHT */
    .roham-mgallery {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
        grid-template-rows: 1fr 1fr;
        gap: 8px;
        padding: 0 12px 12px;
        height: min(58vw, 320px);
        direction: ltr; /* col1 left = thumbs, col2 right = main */
    }

    .roham-mgallery-side {
        grid-column: 1;
        grid-row: 1 / -1;
        display: grid;
        grid-template-rows: 1fr 1fr;
        gap: 8px;
        min-height: 0;
        height: 100%;
    }

    .roham-mgallery-main {
        grid-column: 2;
        grid-row: 1 / -1;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        border-radius: 12px;
        overflow: hidden;
        background: transparent;
        cursor: pointer;
        position: relative;
        aspect-ratio: auto;
    }

    .roham-mgallery-thumb {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 12px;
        overflow: hidden;
        background: transparent;
        cursor: pointer;
        position: relative;
        aspect-ratio: auto;
    }

    .roham-mgallery-main img,
    .roham-mgallery-thumb img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        background: transparent;
    }

    .roham-mgallery-count {
        position: absolute;
        left: 8px;
        bottom: 8px;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 5px 9px;
        border-radius: 999px;
        background: rgba(60, 60, 60, .72);
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        line-height: 1;
        direction: ltr;
    }

    .roham-pdp-saleband {
        margin: 0 -16px 10px;
        padding: 8px 16px;
        border-radius: 16px 16px 0 0;
        background: #ffe6ea;
        border-top: 3px solid var(--ds-color-primary);
        color: var(--ds-color-primary);
        font-size: 12px;
        font-weight: 700;
        text-align: right;
    }

    /* Mobile content sheet over gallery */
    .roham-theme .roham-pdp-info {
        position: relative;
        z-index: 2;
        margin-top: 0;
        padding: 0 16px 8px;
        background: #fff;
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -6px 20px rgba(0, 0, 0, .05);
        overflow-x: hidden;
        max-width: 100%;
    }

    .roham-theme .roham-pdp-info:not(:has(.roham-pdp-saleband))::before {
        content: "";
        display: block;
        width: 40px;
        height: 4px;
        margin: 10px auto 12px;
        border-radius: 999px;
        background: #e0e0e2;
    }

    .roham-theme .roham-pdp-info:has(.roham-pdp-saleband) {
        padding-top: 0;
    }

    .roham-pdp-mmeta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 10px;
        min-height: 28px;
        padding-top: 4px;
    }

    .roham-pdp-mmeta-brand {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px;
        font-size: 12px;
        max-width: 72%;
    }

    .roham-pdp-mmeta-brand a {
        color: #81858b !important;
        text-decoration: underline !important;
        text-underline-offset: 2px;
        font-weight: 500;
    }

    .roham-pdp-mmeta-brand span {
        color: #c0c2c5;
        text-decoration: none;
    }

    /*
     * Digikala title block — kill legacy theme flex + overflow-x:auto
     * that caused horizontal scroll and vertical English stacking.
     */
    .roham-theme .roham-pdp-info .product-title,
    .roham-theme .roham-pdp-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 10px;
        padding: 0 !important;
        border-bottom: none !important;
        overflow: visible !important;
        overflow-x: hidden !important;
        white-space: normal !important;
    }

    .roham-theme .roham-pdp-info .product-title h1,
    .roham-theme .roham-pdp-title h1 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 15px !important;
        line-height: 1.75 !important;
        font-weight: 700 !important;
        color: #0c0c0c !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .roham-theme .roham-pdp-info .product-title-en {
        display: none !important;
    }

    .roham-pdp-chips {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin: 4px 0 16px;
        max-width: 100%;
        overflow: hidden;
    }

    .roham-pdp-rate {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 0;
        background: transparent;
        color: #0c0c0c !important;
        font-size: 12px;
        font-weight: 600;
        text-decoration: none !important;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .roham-pdp-rate b {
        font-weight: 700;
    }

    .roham-pdp-rate .fa-star {
        color: #f9bc00;
        font-size: 12px;
    }

    .roham-pdp-rate span {
        color: #81858b;
        font-weight: 500;
    }

    .roham-pdp-chip {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 6px 10px;
        border-radius: 999px;
        background: #f0f0f1;
        color: #0c0c0c !important;
        font-size: 11px;
        font-weight: 600;
        text-decoration: none !important;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .roham-pdp-chip .fa-chevron-left {
        font-size: 10px;
        color: #a1a3a8;
    }

    /* Digikala color / variant pills */
    .roham-theme .roham-pdp-variants {
        padding-top: 4px;
        margin-bottom: 0;
    }

    .roham-theme .roham-pdp-variants .product-variants,
    .roham-theme .roham-pdp-vlist {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 0;
        padding: 0;
        list-style: none;
        max-width: none;
    }

    .roham-theme .roham-pdp-vlist > li {
        margin: 0;
        display: block;
    }

    .roham-theme .roham-pdp-vopt {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 10px 14px;
        min-height: 44px;
        border: 1.5px solid #e0e0e2;
        border-radius: 10px;
        background: #fff;
        cursor: pointer;
        position: relative;
    }

    .roham-theme .roham-pdp-vopt.is-selected,
    .roham-theme .roham-pdp-vopt:has(input:checked) {
        border-color: #0c0c0c;
        box-shadow: inset 0 0 0 0.5px #0c0c0c;
    }

    .roham-theme .roham-pdp-vopt .c-ui-variant-shape,
    .roham-theme .roham-pdp-vopt-swatch {
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        border: 1px solid rgba(0, 0, 0, .08);
        flex-shrink: 0;
        order: 2;
        overflow: hidden;
    }

    .roham-theme .roham-pdp-vopt-check,
    .roham-theme .roham-pdp-vopt-swatch .roham-pdp-vopt-check {
        display: none !important;
        position: static !important;
        color: #fff !important;
        font-size: 9px !important;
        line-height: 1;
        background: transparent !important;
    }

    .roham-theme .roham-pdp-vopt.is-selected .roham-pdp-vopt-swatch,
    .roham-theme .roham-pdp-vopt:has(input:checked) .roham-pdp-vopt-swatch {
        display: flex !important;
        box-shadow: inset 0 0 0 999px #0c0c0c;
    }

    .roham-theme .roham-pdp-vopt.is-selected .roham-pdp-vopt-check,
    .roham-theme .roham-pdp-vopt:has(input:checked) .roham-pdp-vopt-check,
    .roham-theme .roham-pdp-vopt.is-selected .roham-pdp-vopt-swatch .roham-pdp-vopt-check,
    .roham-theme .roham-pdp-vopt:has(input:checked) .roham-pdp-vopt-swatch .roham-pdp-vopt-check {
        display: inline-block !important;
    }

    .roham-theme .roham-pdp-vopt-name,
    .roham-theme .roham-pdp-vopt .c-ui-variant--check {
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #0c0c0c !important;
        font-size: 13px !important;
        font-weight: 500;
        line-height: 1.4;
        background: transparent;
        order: 1;
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        white-space: nowrap !important;
    }

    .roham-theme .roham-pdp-vopt input[type=radio] {
        position: absolute;
        opacity: 0;
        pointer-events: none;
        width: 0;
        height: 0;
    }

    /* Digikala mobile seller buybox */
    .roham-pdp-mseller {
        margin: 12px -16px 0;
        padding: 18px 16px 8px;
        border-top: 8px solid #f0f0f1;
        background: #fff;
    }

    .roham-pdp-mseller-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 14px;
    }

    .roham-pdp-mseller-title {
        margin: 0;
        font-size: 16px;
        font-weight: 700;
        color: #0c0c0c;
    }

    .roham-pdp-mseller-others {
        appearance: none;
        display: inline-flex;
        align-items: center;
        gap: 4px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        font-size: 12px;
        font-weight: 500;
        color: #19bfd3;
        white-space: nowrap;
        cursor: pointer;
        line-height: 1.4;
    }

    .roham-pdp-mseller-others .fa-chevron-left {
        font-size: 10px;
    }

    .roham-pdp-mseller-card {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding-bottom: 14px;
    }

    .roham-pdp-mseller-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #f0f0f1;
        color: #424750;
        font-size: 20px;
        flex-shrink: 0;
    }

    .roham-pdp-mseller-body {
        min-width: 0;
        flex: 1;
    }

    .roham-pdp-mseller-name {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 8px;
        font-size: 14px;
        font-weight: 700;
        color: #0c0c0c;
        line-height: 1.5;
    }

    .roham-pdp-mseller-name .fa-chevron-left {
        font-size: 11px;
        color: #a1a3a8;
        margin-right: auto;
    }

    .roham-pdp-mseller-fav {
        display: inline-flex;
        align-items: center;
        padding: 2px 8px;
        border-radius: 999px;
        background: #f0f0f1;
        font-size: 11px;
        font-weight: 600;
        color: #424750;
    }

    .roham-pdp-mseller-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .roham-pdp-mseller-badge {
        display: inline-flex;
        align-items: center;
        padding: 3px 8px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.5;
    }

    .roham-pdp-mseller-badge--sat {
        color: #00a049;
        border: 1px solid #00a049;
        background: #fff;
    }

    .roham-pdp-mseller-badge--perf.is-great {
        color: #fff;
        background: #00a049;
        border: 1px solid #00a049;
    }

    .roham-pdp-mseller-badge--perf.is-good {
        color: #fff;
        background: #4caf50;
        border: 1px solid #4caf50;
    }

    .roham-pdp-mseller-badge--perf.is-ok {
        color: #fff;
        background: #a1a3a8;
        border: 1px solid #a1a3a8;
    }

    .roham-pdp-mrow {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
        margin: 0;
        padding: 14px 0;
        border: 0;
        border-top: 1px solid #f0f0f1;
        background: transparent;
        text-align: right;
        color: #0c0c0c;
        font: inherit;
        cursor: default;
    }

    button.roham-pdp-mrow {
        cursor: pointer;
    }

    .roham-pdp-mrow-ico {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        flex-shrink: 0;
        color: #424750;
        font-size: 20px;
        line-height: 1;
        margin-top: 1px;
    }

    .roham-pdp-mrow-ico.is-plus {
        color: #b12ba5;
    }

    .roham-pdp-mrow-txt {
        flex: 1;
        min-width: 0;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.7;
        color: #0c0c0c;
    }

    .roham-pdp-mrow-chevron {
        flex-shrink: 0;
        margin-top: 4px;
        font-size: 12px;
        color: #a1a3a8;
        transition: transform .2s ease;
    }

    .roham-pdp-mship.is-open .roham-pdp-mrow-chevron {
        transform: rotate(-90deg);
    }

    .roham-pdp-mship-body {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .roham-pdp-mship-line {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px;
        font-size: 12px;
        font-weight: 500;
        color: #3f4064;
        line-height: 1.6;
    }

    .roham-pdp-mship-line.is-fast {
        color: #19bfd3;
    }

    .roham-pdp-mship-sep {
        color: #a1a3a8;
    }

    .roham-pdp-mship-detail {
        margin: -4px 0 8px;
        padding: 0 0 12px 36px;
    }

    .roham-pdp-mship-detail-title {
        margin-bottom: 10px;
        font-size: 12px;
        font-weight: 700;
        color: #0c0c0c;
    }

    .roham-pdp-mship-detail-list {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .roham-pdp-mship-detail-list li {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 10px;
        font-size: 12px;
        color: #3f4064;
        line-height: 1.6;
    }

    .roham-pdp-mship-detail-list li:last-child {
        margin-bottom: 0;
    }

    .roham-pdp-mship-detail-list em {
        font-style: normal;
        color: #81858b;
    }

    .roham-pdp-mship-detail-list i {
        color: #ef4056;
        font-size: 14px;
        margin-top: 2px;
    }

    .roham-pdp-mship-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        margin-top: 5px;
        flex-shrink: 0;
    }

    .roham-pdp-mship-dot.is-red { background: #ef4056; }
    .roham-pdp-mship-dot.is-blue { background: #19bfd3; }

    .roham-pdp-mplus .roham-pdp-mrow-txt {
        color: #b12ba5;
        font-weight: 600;
    }

    .roham-theme .roham-pdp-info .product-params,
    .roham-theme .roham-pdp-info .roham-pdp-chat,
    .roham-theme .roham-pdp-info .chat-with-seller {
        display: none !important;
    }

    /* Multi-seller list is a bottom sheet on mobile — hide inline block */
    .roham-theme #product-seller-box,
    .roham-theme .roham-pdp-sellers-wrap {
        display: none !important;
    }

    .roham-theme .roham-pdp-sticky .price {
        align-items: flex-start;
    }

    .roham-theme .roham-pdp-sticky .roham-pdp-sticky-now strong {
        font-size: 14px;
    }

    .roham-theme .roham-pdp-info .product-directory {
        display: none;
    }

    .roham-pdp-mmeta-actions {
        display: flex;
        align-items: center;
        gap: 2px;
        flex-shrink: 0;
    }

    .roham-pdp-mmeta-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border: 0;
        background: transparent;
        color: #424750;
        font-size: 18px;
        cursor: pointer;
    }

    .roham-pdp-mmeta-btn.favorites {
        color: var(--ds-color-primary);
    }

    .roham-theme .roham-pdp-gallery .gallery-options {
        display: none !important;
    }

    /*
     * Digikala mobile section tabs:
     * fixed under mbar — appear only after seller/product sheet scrolls away.
     * Then they take the place of the categories chrome.
     */
    .roham-theme .roham-pdp-mtabs {
        position: fixed;
        top: var(--roham-pdp-secnav-top, 48px);
        right: 0;
        left: 0;
        z-index: 1020;
        margin: 0;
        padding: 0 8px;
        background: #fff;
        border-bottom: 1px solid #f0f0f1;
        box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
        transform: translateY(-110%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: transform .22s ease, opacity .18s ease, visibility 0s linear .22s;
    }

    .roham-theme .roham-pdp-mtabs.is-stuck {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: transform .22s ease, opacity .18s ease, visibility 0s;
    }

    /* Digikala: when section tabs stick, hide leftover category chrome */
    html.roham-pdp-tabs-stuck .roham-pdp-breadcrumb,
    html.roham-pdp-tabs-stuck .header-responsive,
    html.roham-pdp-tabs-stuck .roham-bottom-nav,
    html.roham-pdp-tabs-stuck .roham-nav-row {
        display: none !important;
    }

    html.roham-pdp-tabs-stuck .roham-pdp-mbar {
        border-bottom-color: transparent;
    }

    .roham-theme .roham-pdp-mtabs-list {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        direction: rtl;
    }

    .roham-theme .roham-pdp-mtabs-list::-webkit-scrollbar {
        display: none;
    }

    .roham-theme .roham-pdp-mtabs-list > li {
        flex: 1 0 auto;
        min-width: 0;
    }

    .roham-theme .roham-pdp-mtabs-link {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 38px;
        padding: 0 10px;
        font-size: 12px;
        font-weight: 500;
        color: #81858b !important;
        text-decoration: none !important;
        white-space: nowrap;
        border-bottom: 2px solid transparent;
    }

    .roham-theme .roham-pdp-mtabs-link.is-active {
        color: #0c0c0c !important;
        border-bottom-color: #0c0c0c;
        font-weight: 700;
    }

    .roham-theme .roham-pdp-sections {
        background: transparent;
        margin-top: 0;
        border: none;
        border-radius: 0;
        padding: 0;
    }

    .roham-theme .roham-pdp-secbody {
        padding: 0 !important;
    }

    .roham-theme .roham-pdp-sec {
        margin-top: 8px;
        padding: 20px 16px 16px !important;
        background: #fff;
        border: 1px solid #e0e0e2;
        border-radius: 8px;
        scroll-margin-top: calc(var(--roham-pdp-secnav-top, 48px) + 52px);
        box-sizing: border-box;
    }

    .roham-theme .roham-pdp-sec + .roham-pdp-sec {
        border-top: none;
    }

    .roham-theme .roham-pdp-sec-title {
        font-size: 18px;
        margin-bottom: 16px;
    }

    html.roham-pdp-page .roham-main,
    body.roham-pdp-page .roham-main {
        background: #f0f0f1;
    }

    .roham-theme .roham-pdp-split {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .roham-theme .roham-pdp-split-aside {
        position: static;
        order: -1;
    }
}

/* ========== Digikala fullscreen gallery lightbox ========== */
/* While locked: drop stable gutter (RTL can place it on the LEFT and
   “shrink” the viewport). Bootstrap padding is neutralized separately. */
html.roham-gallery-open {
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
    overscroll-behavior: none;
    /* Reserve only the physical-right scrollbar strip (not RTL left gutter) */
    padding-right: var(--roham-sbw, 0px) !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Keep page scroll position while lightbox is open (prevents jump-to-top) */
body.roham-glight-scroll-lock {
    position: fixed !important;
    top: 0;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Bootstrap also sets .modal-open on body with padding-right — neutralize it */
body.modal-open.roham-glight-scroll-lock,
body.modal-open.roham-theme.roham-glight-scroll-lock {
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow: hidden !important;
}

/* Bootstrap _adjustDialog may set paddingLeft/Right on the modal root (RTL) */
.roham-glight.modal,
.modal.roham-glight {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Hide mobile PDP chrome while gallery is open.
   Desktop: keep page-header in the DOM (don't "close" it) — gallery covers it. */
html.roham-gallery-open .roham-pdp-mbar,
html.roham-gallery-open .roham-pdp-sticky,
html.roham-gallery-open .roham-pdp-mtabs,
html.roham-gallery-open .roham-bottom-nav,
html.roham-gallery-open .modal-backdrop {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

@media (max-width: 991.98px) {
    html.roham-gallery-open .page-header,
    html.roham-gallery-open .header-responsive {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }
}

/* Fullscreen lightbox over the site header (header stays mounted underneath) */
.roham-glight {
    padding: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    z-index: 3000 !important;
    box-sizing: border-box !important;
}

.roham-glight .modal-dialog {
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
}

.roham-glight .modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    border: 0 !important;
    border-radius: 0 !important;
    background: #000 !important;
    color: #fff;
    overflow: hidden;
    box-shadow: none !important;
}

.roham-glight-head {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 16px;
    padding-top: calc(10px + env(safe-area-inset-top, 0px));
    background: #000;
    z-index: 3;
}

.roham-glight-close {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.roham-glight-seg {
    display: inline-flex;
    align-items: center;
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 999px;
}

.roham-glight-seg-btn {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 7px 16px;
    border-radius: 999px;
    cursor: pointer;
}

.roham-glight-seg-btn.is-active {
    background: transparent;
    color: #fff;
    box-shadow: inset 0 0 0 1px #fff;
}

.roham-glight-seg-btn:disabled {
    opacity: .45;
    cursor: default;
}

.roham-glight-seg-sep {
    display: none;
}

.roham-glight-counter {
    min-width: 56px;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, .9);
    direction: ltr;
}

.roham-glight-stage {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    position: relative;
    padding: 0 56px;
}

.roham-glight-main {
    width: 100%;
    height: 100%;
}

.roham-glight-main .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.roham-glight-main .swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.roham-glight-main img {
    max-width: min(920px, 92%);
    max-height: calc(100dvh - 200px);
    max-height: calc(100vh - 200px);
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    background: #fff;
    border-radius: 4px;
}

.roham-glight-nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #424750;
    font-size: 18px;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
}

.roham-glight-nav--prev {
    right: 16px;
}

.roham-glight-nav--next {
    left: 16px;
}

.roham-glight-foot {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    gap: 14px;
    padding: 14px 20px calc(14px + env(safe-area-inset-bottom, 0px));
    background: #000;
    z-index: 3;
}

.roham-glight-thumbs {
    flex: 1;
    min-width: 0;
    background: transparent;
    border-radius: 0;
    padding: 0;
}

.roham-glight-thumbs .swiper-slide {
    width: 72px !important;
    height: 72px;
    border-radius: 8px;
    overflow: hidden;
    opacity: .7;
    border: 2px solid transparent;
    cursor: pointer;
    background: #1a1a1a;
}

.roham-glight-thumbs .swiper-slide-thumb-active,
.roham-glight-thumbs .swiper-slide-active {
    opacity: 1;
    border-color: #fff;
}

.roham-glight-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.roham-glight-all {
    flex: 0 0 76px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 76px;
    height: 76px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 10px;
    background: transparent;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

.roham-glight-all i {
    font-size: 20px;
}

.roham-glight-grid {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    background: #0c0c0c;
}

.roham-glight-grid[hidden] {
    display: none !important;
}

.roham-glight-grid-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    padding-top: calc(14px + env(safe-area-inset-top, 0px));
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.roham-glight-grid-close {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
}

.roham-glight-grid-body {
    flex: 1;
    overflow: auto;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    align-content: start;
}

.roham-glight-grid-item {
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #1a1a1a;
    cursor: pointer;
}

.roham-glight-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (min-width: 992px) {
    .roham-theme .roham-pdp-breadcrumb a {
        color: var(--ds-color-secondary) !important;
    }

    .roham-mgallery,
    .roham-pdp-saleband {
        display: none !important;
    }

    /* Digikala desktop: true fullscreen lightbox (not a centered card) */
    .roham-glight .modal-dialog {
        max-width: 100% !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
    }

    .roham-glight .modal-content {
        min-height: 100vh !important;
        min-height: 100dvh !important;
        height: 100% !important;
        border-radius: 0 !important;
    }

    .roham-glight-nav {
        display: inline-flex;
    }

    .roham-glight-stage {
        padding: 0 80px;
    }

    .roham-glight-main img {
        max-width: min(860px, 70vw);
        max-height: calc(100vh - 220px);
        max-height: calc(100dvh - 220px);
    }

    .roham-glight-thumbs .swiper-slide {
        width: 80px !important;
        height: 80px;
    }

    .roham-glight-grid-body {
        grid-template-columns: repeat(6, 1fr);
        gap: 12px;
        padding: 24px 32px;
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
    }

    .roham-glight-counter {
        font-size: 14px;
    }
}

@media (max-width: 991.98px) {
    .roham-glight-stage {
        padding: 0;
        background: #fff;
    }

    .roham-glight-main img {
        max-width: 100%;
        max-height: calc(100dvh - 180px);
        border-radius: 0;
    }

    .roham-glight-foot {
        flex-direction: row;
    }

    .roham-glight-thumbs {
        background: #fff;
        border-radius: 12px;
        padding: 8px;
    }

    .roham-glight-thumbs .swiper-slide {
        width: 56px !important;
        height: 56px;
    }

    .roham-glight-thumbs .swiper-slide-thumb-active,
    .roham-glight-thumbs .swiper-slide-active {
        border-color: var(--ds-color-primary, #ef394e);
    }

    .roham-glight-seg-btn.is-active {
        background: #fff;
        color: #0c0c0c;
        box-shadow: none;
    }

    .roham-glight-seg-sep {
        display: block;
        width: 1px;
        height: 14px;
        background: rgba(255, 255, 255, .35);
    }

    .roham-glight-all {
        flex-basis: 72px;
        width: 72px;
        height: 72px;
        background: rgba(255, 255, 255, .08);
    }
}

/* ========== PDP sections — Digikala sticky scrollspy ========== */
.roham-theme .roham-pdp-sections {
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    margin-top: 0;
    box-sizing: border-box;
}

.roham-theme .roham-pdp-secnav {
    position: sticky;
    top: var(--roham-pdp-secnav-top, 0px);
    z-index: 90;
    background: #fff;
    border-bottom: 1px solid #e0e0e2;
    margin: 0;
    padding: 0 16px;
    box-sizing: border-box;
    border-radius: 8px 8px 0 0;
}

.roham-pdp-secnav-sentinel {
    display: block;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

/* Digikala desktop: tabs stick inside the 3/4 column (not full-bleed fixed) */
@media (min-width: 992px) {
    .roham-theme .roham-pdp-secnav--desk {
        position: sticky;
        top: var(--roham-pdp-secnav-top, 0px);
        z-index: 90;
        margin: 0;
        padding: 0 8px !important;
        background: #fff;
        border-bottom: 1px solid #e0e0e2;
        border-radius: 8px 8px 0 0;
        box-sizing: border-box;
    }

    .roham-theme .roham-pdp-secnav--desk .roham-pdp-secnav-list {
        max-width: none;
        margin: 0;
        padding: 0;
        gap: 4px;
        align-items: stretch;
    }

    .roham-theme .roham-pdp-secnav--desk .roham-pdp-secnav-link {
        height: 52px;
        padding: 0 14px;
        font-size: 14px;
        font-weight: 500;
        color: #62666d !important;
        border-bottom: 3px solid transparent;
        margin-bottom: -1px; /* sit on the gray separator like Digikala */
    }

    .roham-theme .roham-pdp-secnav--desk .roham-pdp-secnav-link:hover {
        color: #0c0c0c !important;
    }

    .roham-theme .roham-pdp-secnav--desk .roham-pdp-secnav-link.is-active {
        color: #0c0c0c !important;
        font-weight: 700;
        border-bottom-color: var(--ds-color-primary);
    }

    /* Hide categories after the product box is scrolled past (and while tabs are stuck) */
    html.roham-pdp-desk-nav-compact .page-header .roham-nav-row,
    html.roham-pdp-desk-tabs-stuck .page-header .roham-nav-row {
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
    }

    /* Keep stuck tabs in-column sticky (Digikala: buy box stays beside tabs) */
    html.roham-pdp-desk-tabs-stuck .roham-pdp-secnav--desk,
    .roham-theme .roham-pdp-secnav--desk.is-stuck {
        position: sticky !important;
        top: var(--roham-pdp-secnav-top, 0px) !important;
        left: auto;
        right: auto;
        z-index: 90;
        margin: 0;
        padding: 0 8px !important;
        background: #fff;
        border-bottom: 1px solid #e0e0e2;
        border-radius: 8px 8px 0 0;
        box-shadow: none;
        box-sizing: border-box;
        width: auto;
    }

    html.roham-pdp-desk-tabs-stuck .roham-pdp-secnav--desk .roham-pdp-secnav-list,
    .roham-theme .roham-pdp-secnav--desk.is-stuck .roham-pdp-secnav-list {
        max-width: none;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html.roham-pdp-desk-nav-compact .page-header.is-fixed,
    html.roham-pdp-desk-tabs-stuck .page-header.is-fixed {
        box-shadow: none;
        border-bottom: 1px solid #f0f0f1;
    }
}

.roham-theme .roham-pdp-secnav-list {
    display: flex;
    align-items: stretch;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.roham-theme .roham-pdp-secnav-list::-webkit-scrollbar {
    display: none;
}

.roham-theme .roham-pdp-secnav-link {
    display: inline-flex;
    align-items: center;
    height: 48px;
    padding: 0 10px;
    font-size: 14px;
    font-weight: 500;
    color: #62666d !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    transition: color .15s ease, border-color .15s ease;
}

.roham-theme .roham-pdp-secnav-link:hover {
    color: #0c0c0c !important;
}

.roham-theme .roham-pdp-secnav-link.is-active {
    color: var(--ds-color-primary) !important;
    border-bottom-color: var(--ds-color-primary);
    font-weight: 700;
}

.roham-theme .roham-pdp-secbody {
    padding: 8px 16px 32px !important;
    box-sizing: border-box;
    border-radius: 0 0 8px 8px;
}

.roham-theme .roham-pdp-sec {
    padding: 28px 0 8px;
    scroll-margin-top: calc(var(--roham-pdp-secnav-top, 0px) + 56px);
}

/* Kill legacy theme negative margins that pull rating/text to the card edge */
.roham-theme .single-product .content-expert-evaluation,
.roham-theme .roham-pdp-sections .content-expert-evaluation {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.roham-theme .single-product .content-expert-rating,
.roham-theme .roham-pdp-sections .content-expert-rating {
    padding: 8px 0 20px !important;
}

.roham-theme .single-product .content-expert-rating > li,
.roham-theme .roham-pdp-sections .content-expert-rating > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (min-width: 992px) {
    .roham-theme .roham-pdp-secbody {
        padding: 12px 24px 40px !important;
    }
}

.roham-theme .roham-pdp-sec + .roham-pdp-sec {
    border-top: 1px solid #f0f0f1;
    margin-top: 12px;
    padding-top: 24px;
}

/* If CMS description starts with the same review title, keep one clean heading */
.roham-theme .roham-pdp-intro-extra .roham-pdp-clamp-body > h1:first-child,
.roham-theme .roham-pdp-intro-extra .roham-pdp-clamp-body > h2:first-child,
.roham-theme .roham-pdp-intro-extra .roham-pdp-clamp-body > h3:first-child {
    margin-top: 0;
    font-size: 16px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.4;
    padding-bottom: 10px;
    margin-bottom: 18px;
    border-bottom: 3px solid var(--ds-color-primary, #ef394e);
    display: inline-block;
    width: auto;
    max-width: 100%;
}

.roham-theme .roham-pdp-sec-title {
    position: relative;
    display: inline-block;
    margin: 0 0 18px;
    padding: 0 0 10px;
    font-size: 16px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.4;
}

.roham-theme .roham-pdp-sec-title::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    border-radius: 2px;
    background: var(--ds-color-primary);
}

/* Intro — full width like نقد و بررسی (no artificial 720px cap) */
.roham-theme .roham-pdp-intro {
    position: relative;
    width: 100%;
    max-width: 100%;
}

.roham-theme .roham-pdp-intro-body,
.roham-theme .roham-pdp-clamp-body {
    font-size: 14px;
    line-height: 2;
    color: #3f4064;
    text-align: justify;
}

/* Digikala clamp — «مشاهده بیشتر» when content exceeds limit */
.roham-theme .roham-pdp-clamp {
    --roham-clamp-h: 220px;
    position: relative;
}

.roham-theme .roham-pdp-clamp.is-collapsed .roham-pdp-clamp-body {
    max-height: var(--roham-clamp-h);
    overflow: hidden;
    mask-image: linear-gradient(#000 55%, transparent 100%);
    -webkit-mask-image: linear-gradient(#000 55%, transparent 100%);
}

.roham-theme .roham-pdp-clamp.is-expanded .roham-pdp-clamp-body {
    max-height: none;
    overflow: visible;
    mask-image: none;
    -webkit-mask-image: none;
}

.roham-theme .roham-pdp-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ds-color-secondary);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
    cursor: pointer;
    text-decoration: none !important;
}

.roham-theme .roham-pdp-more:hover {
    color: var(--ds-color-secondary-hover);
}

.roham-theme .roham-pdp-more i {
    font-size: 11px;
    transition: transform .2s ease;
}

.roham-theme .roham-pdp-clamp.is-expanded .roham-pdp-more i {
    transform: rotate(-90deg);
}

.roham-theme .roham-pdp-more[hidden] {
    display: none !important;
}

.roham-theme .roham-pdp-intro-extra {
    margin-top: 8px;
    font-size: 14px;
    line-height: 2;
    color: #3f4064;
}

.roham-theme .roham-pdp-sec-title--sub {
    margin-top: 28px;
}

.roham-theme .roham-pdp-intro-stats {
    margin-top: 28px;
}

/* ========== Expert insight board ========== */
.roham-theme .roham-pdp-eval {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    border: 1px solid #e8eaed;
    border-radius: 16px;
    overflow: hidden;
    background:
        radial-gradient(120% 80% at 100% 0%, rgba(25, 191, 211, 0.07), transparent 55%),
        radial-gradient(90% 70% at 0% 100%, rgba(0, 160, 73, 0.05), transparent 50%),
        #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.roham-theme .roham-pdp-eval--scores-only,
.roham-theme .roham-pdp-eval--sides-only {
    grid-template-columns: minmax(0, 1fr);
}

.roham-theme .roham-pdp-eval--pros-only .roham-pdp-eval-sides,
.roham-theme .roham-pdp-eval--cons-only .roham-pdp-eval-sides {
    grid-template-columns: minmax(0, 1fr);
}

.roham-theme .roham-pdp-eval-scores,
.roham-theme .roham-pdp-eval-sides {
    min-width: 0;
    padding: 18px 20px 16px;
    box-sizing: border-box;
}

.roham-theme .roham-pdp-eval-scores {
    border-left: 1px solid #eef0f2;
}

.roham-theme .roham-pdp-eval-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
}

.roham-theme .roham-pdp-eval-head-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    flex-shrink: 0;
    color: #0f8fa3;
    background: rgba(25, 191, 211, 0.12);
}

.roham-theme .roham-pdp-eval-card--pro .roham-pdp-eval-head-icon {
    color: #00a049;
    background: rgba(0, 160, 73, 0.12);
}

.roham-theme .roham-pdp-eval-card--con .roham-pdp-eval-head-icon {
    color: #ef394e;
    background: rgba(239, 57, 78, 0.1);
}

.roham-theme .roham-pdp-eval-head-title {
    margin: 0;
    font-size: 13.5px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.3;
}

.roham-theme .roham-pdp-eval-card--pro .roham-pdp-eval-head-title {
    color: #008a3e;
}

.roham-theme .roham-pdp-eval-card--con .roham-pdp-eval-head-title {
    color: #d32f45;
}

.roham-theme .roham-pdp-eval-count {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: #f0f0f1;
    color: #62666d;
}

.roham-theme .roham-pdp-eval-card--pro .roham-pdp-eval-count {
    background: rgba(0, 160, 73, 0.12);
    color: #008a3e;
}

.roham-theme .roham-pdp-eval-card--con .roham-pdp-eval-count {
    background: rgba(239, 57, 78, 0.1);
    color: #d32f45;
}

.roham-theme .roham-pdp-eval-bars {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.roham-theme .roham-pdp-eval-item {
    min-width: 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(224, 224, 226, 0.7);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.roham-theme .roham-pdp-eval-item:hover {
    border-color: #d5d8dc;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.roham-theme .roham-pdp-eval-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.roham-theme .roham-pdp-eval-label {
    font-size: 12.5px;
    font-weight: 600;
    color: #3f4064;
    line-height: 1.45;
    min-width: 0;
}

.roham-theme .roham-pdp-eval-meta-end {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.roham-theme .roham-pdp-eval-score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 22px;
    padding: 0 6px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    background: #f3f5f7;
    color: #0c0c0c;
}

.roham-theme .roham-pdp-eval-digit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    background: #eef1f3;
    color: #62666d;
}

.roham-theme .roham-pdp-eval-item[data-level="great"] .roham-pdp-eval-digit {
    background: rgba(25, 191, 211, 0.14);
    color: #0f8fa3;
}

.roham-theme .roham-pdp-eval-item[data-level="great"] .roham-pdp-eval-score {
    background: rgba(25, 191, 211, 0.14);
    color: #0f8fa3;
}

.roham-theme .roham-pdp-eval-item[data-level="good"] .roham-pdp-eval-digit,
.roham-theme .roham-pdp-eval-item[data-level="good"] .roham-pdp-eval-score {
    background: rgba(0, 160, 73, 0.12);
    color: #008a3e;
}

.roham-theme .roham-pdp-eval-item[data-level="ok"] .roham-pdp-eval-digit,
.roham-theme .roham-pdp-eval-item[data-level="ok"] .roham-pdp-eval-score {
    background: rgba(249, 168, 37, 0.16);
    color: #c47a00;
}

.roham-theme .roham-pdp-eval-item[data-level="bad"] .roham-pdp-eval-digit,
.roham-theme .roham-pdp-eval-item[data-level="worst"] .roham-pdp-eval-digit,
.roham-theme .roham-pdp-eval-item[data-level="bad"] .roham-pdp-eval-score,
.roham-theme .roham-pdp-eval-item[data-level="worst"] .roham-pdp-eval-score {
    background: rgba(239, 57, 78, 0.1);
    color: #d32f45;
}

/* RTL-friendly fill: grows from the right */
.roham-theme .roham-pdp-eval-track {
    position: relative;
    height: 9px;
    border-radius: 999px;
    background: #e8eaed;
    overflow: hidden;
}

.roham-theme .roham-pdp-eval-fill {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    width: var(--eval-pct, 0%);
    border-radius: inherit;
    background: linear-gradient(270deg, #19bfd3 0%, #5ad7e6 100%);
    transition: width .5s cubic-bezier(.22, 1, .36, 1);
}

.roham-theme .roham-pdp-eval-item[data-level="good"] .roham-pdp-eval-fill {
    background: linear-gradient(270deg, #00a049 0%, #3dcc78 100%);
}

.roham-theme .roham-pdp-eval-item[data-level="ok"] .roham-pdp-eval-fill {
    background: linear-gradient(270deg, #f9a825 0%, #ffc107 100%);
}

.roham-theme .roham-pdp-eval-item[data-level="bad"] .roham-pdp-eval-fill,
.roham-theme .roham-pdp-eval-item[data-level="worst"] .roham-pdp-eval-fill {
    background: linear-gradient(270deg, #ef394e 0%, #ff7382 100%);
}

.roham-theme .roham-pdp-eval-sides {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 14px;
    align-content: start;
    background: rgba(250, 251, 252, 0.65);
}

.roham-theme .roham-pdp-eval-card {
    min-width: 0;
    height: 100%;
}

.roham-theme .roham-pdp-eval-chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-content: flex-start;
}

.roham-theme .roham-pdp-eval-chips > li {
    margin: 0;
    max-width: 100%;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.45;
    word-break: break-word;
    box-sizing: border-box;
}

.roham-theme .roham-pdp-eval-card--pro .roham-pdp-eval-chips > li {
    color: #146c36;
    background: #fff;
    border: 1px solid rgba(0, 160, 73, 0.22);
    box-shadow: 0 1px 0 rgba(0, 160, 73, 0.06);
}

.roham-theme .roham-pdp-eval-card--con .roham-pdp-eval-chips > li {
    color: #b42336;
    background: #fff;
    border: 1px solid rgba(239, 57, 78, 0.2);
    box-shadow: 0 1px 0 rgba(239, 57, 78, 0.05);
}

/* Mobile / tablet */
@media (max-width: 991.98px) {
    .roham-theme .roham-pdp-intro-stats {
        margin-top: 20px;
    }

    .roham-theme .roham-pdp-eval {
        grid-template-columns: 1fr;
        border-radius: 14px;
    }

    .roham-theme .roham-pdp-eval-scores {
        border-left: 0;
        border-bottom: 1px solid #eef0f2;
        padding: 14px 14px 12px;
    }

    .roham-theme .roham-pdp-eval-sides {
        padding: 14px;
        gap: 16px;
        grid-template-columns: 1fr;
    }

    .roham-theme .roham-pdp-eval-head {
        margin-bottom: 12px;
    }

    .roham-theme .roham-pdp-eval-bars {
        gap: 10px;
    }

    .roham-theme .roham-pdp-eval-item {
        padding: 9px 10px;
        border-radius: 10px;
    }

    .roham-theme .roham-pdp-eval-label {
        font-size: 12px;
    }

    .roham-theme .roham-pdp-eval-track {
        height: 8px;
    }

    .roham-theme .roham-pdp-eval-chips {
        gap: 7px;
    }

    .roham-theme .roham-pdp-eval-chips > li {
        font-size: 12px;
        padding: 6px 10px;
    }
}

/* Pros + cons side by side on mid phones / tablets */
@media (min-width: 560px) and (max-width: 991.98px) {
    .roham-theme .roham-pdp-eval-sides:has(.roham-pdp-eval-card--pro):has(.roham-pdp-eval-card--con) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .roham-theme .roham-pdp-eval-scores,
    .roham-theme .roham-pdp-eval-sides {
        padding: 16px;
    }
}

@media (min-width: 1200px) {
    .roham-theme .roham-pdp-eval:not(.roham-pdp-eval--scores-only):not(.roham-pdp-eval--sides-only) {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    }

    .roham-theme .roham-pdp-eval-scores,
    .roham-theme .roham-pdp-eval-sides {
        padding: 20px 22px 18px;
    }
}

/* Legacy intro collapsed (kept for safety) */
.roham-theme .roham-pdp-intro.is-collapsed .roham-pdp-intro-body {
    max-height: var(--roham-clamp-h, 160px);
    overflow: hidden;
    mask-image: linear-gradient(#000 55%, transparent 100%);
    -webkit-mask-image: linear-gradient(#000 55%, transparent 100%);
}

/* Specs — Digikala جدول مشخصات (gray key col + white value) */
.roham-theme .roham-pdp-specs-block {
    margin-bottom: 20px;
    max-width: 100%;
    width: 100%;
}

.roham-theme .roham-pdp-specs-group {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-theme .roham-pdp-specs {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.roham-theme .roham-pdp-specs-row {
    display: grid;
    grid-template-columns: minmax(140px, 30%) minmax(0, 1fr);
    align-items: stretch;
    margin: 0;
    padding: 0;
    gap: 0;
    border: 0;
}

.roham-theme .roham-pdp-specs-row + .roham-pdp-specs-row {
    border-top: 1px solid #e0e0e2;
}

.roham-theme .roham-pdp-specs-key {
    flex: none;
    width: auto;
    margin: 0;
    padding: 12px 14px;
    background: #f0f0f1;
    font-size: 12px;
    font-weight: 500;
    color: #3f4064;
    line-height: 1.8;
    text-align: right;
}

.roham-theme .roham-pdp-specs-val {
    flex: none;
    min-width: 0;
    margin: 0;
    padding: 12px 14px;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    color: #0c0c0c;
    line-height: 1.8;
    text-align: right;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.roham-theme .roham-pdp-specs-val span {
    display: block;
}

.roham-theme .roham-pdp-specs-val span + span {
    margin-top: 2px;
}

/* Reviews / Questions split */
.roham-theme .roham-pdp-split {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}

.roham-theme .roham-pdp-split-aside {
    position: sticky;
    top: calc(var(--roham-pdp-secnav-top, 0px) + 64px);
}

.roham-theme .roham-pdp-ratebox {
    margin-bottom: 16px;
}

.roham-theme .roham-pdp-ratebox-score {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 6px;
}

.roham-theme .roham-pdp-ratebox-score strong {
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
    color: #0c0c0c;
}

.roham-theme .roham-pdp-ratebox-score span {
    font-size: 13px;
    color: #81858b;
}

.roham-theme .roham-pdp-ratebox-stars {
    display: flex;
    gap: 2px;
    color: #f9bc00;
    font-size: 14px;
    margin-bottom: 6px;
}

.roham-theme .roham-pdp-ratebox-count {
    font-size: 12px;
    color: #81858b;
}

.roham-theme .roham-pdp-rate-bars {
    margin: 12px 0 16px;
}

.roham-theme .roham-pdp-aside-hint {
    margin: 0 0 12px;
    font-size: 12px;
    line-height: 1.8;
    color: #81858b;
}

.roham-theme .roham-pdp-aside-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid var(--ds-color-primary);
    border-radius: 8px;
    background: #fff;
    color: var(--ds-color-primary) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.roham-theme .roham-pdp-aside-btn:hover {
    background: var(--ds-color-primary-soft);
}

.roham-theme .roham-pdp-ask-form .form-control {
    border-radius: 8px;
    border-color: #e0e0e2;
    font-size: 13px;
}

.roham-theme .roham-pdp-sort {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-pdp-sort-label {
    font-size: 12px;
    color: #81858b;
}

.roham-theme .roham-pdp-sort-btn {
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 13px;
    font-weight: 600;
    color: #81858b;
    cursor: pointer;
}

.roham-theme .roham-pdp-sort-btn.is-active {
    color: var(--ds-color-primary);
}

.roham-theme .roham-pdp-sort-meta {
    margin-right: auto;
    font-size: 12px;
    color: #a1a3a8;
}

.roham-theme .roham-pdp-empty {
    padding: 28px 16px;
    text-align: center;
    color: #81858b;
    font-size: 13px;
    background: #fafafa;
    border-radius: 12px;
}

/* Comment cards Digikala polish */
.roham-theme .roham-pdp-comments .comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.roham-theme .roham-pdp-comments .comment-list > li {
    padding: 18px 0;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-pdp-comments .comment-list > li:first-child {
    padding-top: 0;
}

.roham-theme .roham-pdp-comments .comment-title {
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
    margin-bottom: 6px;
}

.roham-theme .roham-pdp-comments .comment-author {
    font-size: 12px;
    color: #81858b;
    margin-bottom: 10px;
}

.roham-theme .roham-pdp-comments .comment-content p {
    font-size: 13px;
    line-height: 1.9;
    color: #3f4064;
    margin: 0;
}

.roham-theme .roham-pdp-comments .comments-likes {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}

.roham-theme .roham-pdp-comments .text-comment-like {
    font-size: 12px;
    color: #81858b;
}

.roham-theme .roham-pdp-comments .btn-like {
    min-width: 44px;
    height: 32px;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    background: #fff;
    font-size: 12px;
    color: #62666d;
}

.roham-theme .roham-pdp-comments .btn-like::after {
    content: attr(data-counter);
    margin-right: 4px;
    color: #a1a3a8;
}

/* Questions Digikala polish — reset legacy faq-list chrome */
.roham-theme .roham-pdp-questions .roham-qa-list,
.roham-theme .roham-pdp-questions .faq-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.roham-theme .roham-pdp-questions .faq-list > li {
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-pdp-questions .faq-list > li.is-question .h5 {
    display: none;
}

.roham-theme .roham-pdp-questions .faq-list > li.is-question .section > p {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
    color: #0c0c0c;
    text-align: right !important;
}

.roham-theme .roham-pdp-questions .faq-list > li.is-answer:not(.collapse) {
    padding-top: 0;
    border-bottom: 0;
    margin: 0 0 8px 24px;
}

.roham-theme .roham-pdp-questions .faq-list > li.is-answer .header .h5 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 600;
    color: #62666d;
}

.roham-theme .roham-pdp-questions .faq-list > li.is-answer .header .h5::before {
    content: none;
}

.roham-theme .roham-pdp-questions .faq-respondent-role--buyer {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 4px;
    background: rgba(0, 160, 73, .1);
    color: #00a049 !important;
    font-size: 11px;
    font-weight: 700;
}

.roham-theme .roham-pdp-questions .faq-list > li.is-answer .section > p {
    margin: 0;
    font-size: 13px;
    line-height: 1.9;
    color: #3f4064;
    text-align: right !important;
}

.roham-theme .roham-pdp-questions .faq-list > li .footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    font-size: 12px;
    color: #a1a3a8;
}

.roham-theme .roham-pdp-questions .faq-list > li .footer em {
    font-style: normal;
}

.roham-theme .roham-pdp-questions .btn-link-spoiler {
    color: var(--ds-color-secondary) !important;
    font-size: 12px;
    font-weight: 600;
}

.roham-theme .roham-pdp-questions .faq-list > li.is-answer.collapse {
    margin-right: 0;
    padding: 12px;
    border: 1px solid #e0e0e2;
    border-radius: 12px;
    background: #fafafa;
}

@media (max-width: 991.98px) {
    .roham-theme .roham-pdp-specs-block {
        max-width: 100%;
        margin-bottom: 16px;
    }

    .roham-theme .roham-pdp-specs {
        border-radius: 0;
        border-right: 0;
        border-left: 0;
    }

    .roham-theme .roham-pdp-specs-row {
        grid-template-columns: minmax(96px, 32%) minmax(0, 1fr);
    }

    .roham-theme .roham-pdp-specs-key {
        padding: 14px 12px;
        font-size: 12px;
        color: #424750;
    }

    .roham-theme .roham-pdp-specs-val {
        padding: 14px 12px;
        font-size: 13px;
    }

    .roham-theme .roham-pdp-split {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .roham-theme .roham-pdp-split-aside {
        position: static;
    }
}

/* ========== Digikala PLP (search / category) ========== */
.roham-theme .search-page.roham-plp-page {
    padding-top: 12px;
    padding-bottom: 32px;
}

/* Digikala single-box filter accordion */
.roham-theme .roham-plp-filters {
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.roham-theme .roham-plp-filters-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-plp-filters-head strong {
    font-size: 15px;
    font-weight: 700;
    color: #080a38;
}

.roham-theme .roham-plp-filters-clear {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    color: #19bfd3;
    cursor: pointer;
    white-space: nowrap;
}

.roham-theme .roham-plp-filters-clear[hidden] {
    display: none !important;
}

.roham-theme .roham-plp-filters-clear:hover {
    color: #0f9bb0;
}

.roham-theme .roham-plp-filter-modal .roham-plp-filters {
    border: 0;
    border-radius: 0;
}

.roham-theme .roham-plp-filter-modal .roham-plp-filters-head {
    display: none;
}

/* ========== Mobile filter full-screen ========== */
.roham-theme .roham-plp-filter-modal.modal {
    padding: 0 !important;
}

.roham-theme .roham-plp-filter-modal .modal-dialog.roham-plp-sheet-dialog {
    position: fixed !important;
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    height: 100dvh !important;
    max-height: none !important;
    transform: translate3d(0, 100%, 0) !important;
    transition: transform 0.34s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.roham-theme .roham-plp-filter-modal.fade .modal-dialog.roham-plp-sheet-dialog {
    transform: translate3d(0, 100%, 0) !important;
}

.roham-theme .roham-plp-filter-modal.show .modal-dialog.roham-plp-sheet-dialog,
.roham-theme .roham-plp-filter-modal.showing .modal-dialog.roham-plp-sheet-dialog {
    transform: translate3d(0, 0, 0) !important;
}

.roham-theme .roham-plp-sheet {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    min-height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
}

.roham-theme .roham-plp-sheet-grab {
    display: none !important;
}

.roham-theme .roham-plp-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: max(10px, env(safe-area-inset-top, 0px)) 16px 12px;
    border: 0;
    border-bottom: 1px solid #f0f0f1;
    flex-shrink: 0;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 2;
}

.roham-theme .roham-plp-sheet-head-main {
    display: flex;
    align-items: baseline;
    gap: 12px;
    min-width: 0;
}

.roham-theme .roham-plp-sheet-head-main strong {
    font-size: 17px;
    font-weight: 800;
    color: #0c0c0c;
}

.roham-theme .roham-plp-sheet-clear {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    color: #19bfd3;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.roham-theme .roham-plp-sheet-clear[hidden] {
    display: none !important;
}

.roham-theme .roham-plp-sheet-close {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 12px;
    background: #f0f0f1;
    color: #424750;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.roham-theme .roham-plp-sheet-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 8px 16px;
    overscroll-behavior: contain;
    background: #fff;
}

.roham-theme .roham-plp-sheet-foot {
    flex-shrink: 0;
    margin: 0;
    padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px));
    border: 0;
    border-top: 1px solid #f0f0f1;
    background: #fff;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.05);
}

.roham-theme .roham-plp-sheet-apply {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    border: 0;
    border-radius: 12px;
    background: #ef4056;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.12s ease;
}

.roham-theme .roham-plp-sheet-apply:active {
    transform: scale(0.985);
    background: #e02840;
}

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

body.roham-plp-sheet-open .roham-bottom-nav,
body.roham-plp-sheet-open .roham-plp-filter-fab {
    visibility: hidden;
    pointer-events: none;
}

.roham-theme .roham-plp-filter-modal .modal-backdrop,
.modal-backdrop.roham-plp-sheet-backdrop {
    background: #fff;
    opacity: 1 !important;
}

.roham-theme .roham-plp-filters-body {
    padding: 0 4px;
}

.roham-theme .roham-plp-facc {
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-plp-facc-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 14px 12px;
    border: 0;
    background: transparent;
    text-align: right;
    cursor: pointer;
    color: #3f4064;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}

.roham-theme .roham-plp-facc-toggle span {
    flex: 1;
    min-width: 0;
}

.roham-theme .roham-plp-facc-toggle i {
    flex-shrink: 0;
    font-size: 11px;
    color: #a1a3a8;
    transition: transform 0.2s ease;
}

.roham-theme .roham-plp-facc.is-open > .roham-plp-facc-toggle i {
    transform: rotate(180deg);
}

.roham-theme .roham-plp-facc-panel {
    padding: 0 12px 14px;
}

.roham-theme .roham-plp-facc-panel[hidden] {
    display: none !important;
}

.roham-theme .roham-plp-fsearch-wrap,
.roham-theme .roham-plp-fsearch {
    margin-bottom: 10px;
}

.roham-theme .roham-plp-fsearch-input {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    background: #f0f0f1;
    font-size: 12px;
    color: #3f4064;
    outline: none;
}

.roham-theme .roham-plp-fsearch-input:focus {
    border-color: #19bfd3;
    background: #fff;
}

.roham-theme .roham-plp-fopts {
    max-height: 220px;
    overflow-y: auto;
    padding-left: 2px;
}

.roham-theme .roham-plp-check {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    padding: 0;
    cursor: pointer;
    font-size: 12px;
    color: #3f4064;
    line-height: 1.4;
}

.roham-theme .roham-plp-check:last-child {
    margin-bottom: 0;
}

.roham-theme .roham-plp-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.roham-theme .roham-plp-check-box {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #c0c2c5;
    border-radius: 4px;
    background: #fff;
    position: relative;
}

.roham-theme .roham-plp-check input:checked + .roham-plp-check-box {
    border-color: #19bfd3;
    background: #19bfd3;
}

.roham-theme .roham-plp-check input:checked + .roham-plp-check-box::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.roham-theme .roham-plp-check-text {
    flex: 1;
    min-width: 0;
}

.roham-theme .roham-plp-fcolor {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.roham-theme .roham-plp-fcats {
    font-size: 12px;
}

.roham-theme .roham-plp-fcats ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.roham-theme .roham-plp-fcats li {
    margin: 0 0 8px;
}

.roham-theme .roham-plp-fcats a {
    color: #19bfd3;
    text-decoration: none;
}

.roham-theme .roham-plp-fcats a.is-current {
    color: #ef4056;
    font-weight: 600;
}

.roham-theme .roham-plp-fcats ul ul {
    margin-top: 8px;
    padding-right: 12px;
}

.roham-theme .roham-plp-facc-dot {
    display: none;
    width: 6px;
    height: 6px;
    margin-right: 6px;
    border-radius: 50%;
    background: #19bfd3;
    vertical-align: middle;
}

.roham-theme .roham-plp-facc.has-value .roham-plp-facc-dot {
    display: inline-block;
}

.roham-theme .roham-plp-fprice {
    padding: 4px 2px 8px;
}

.roham-theme .roham-plp-fprice-fields {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 4px;
}

.roham-theme .roham-plp-fprice-row {
    display: flex;
    align-items: stretch;
    gap: 14px;
    padding: 14px 4px 12px;
}

.roham-theme .roham-plp-fprice-row + .roham-plp-fprice-row {
    border-top: 1px solid #f0f0f1;
}

.roham-theme .roham-plp-fprice-label {
    flex-shrink: 0;
    width: 24px;
    align-self: center;
    font-size: 13px;
    font-weight: 500;
    color: #81858b;
    text-align: right;
}

.roham-theme .roham-plp-fprice-control {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 2px 10px;
    border-bottom: 1px solid #e0e0e2;
    transition: border-color 0.15s ease;
}

.roham-theme .roham-plp-fprice-row:focus-within .roham-plp-fprice-control {
    border-bottom-color: #19bfd3;
}

.roham-theme .roham-plp-fprice-input {
    flex: 1;
    min-width: 0;
    width: 100%;
    border: 0 !important;
    outline: 0;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0;
    margin: 0;
    height: auto;
    line-height: 1.25;
    text-align: left;
    direction: ltr;
    font-size: 22px;
    font-weight: 800;
    color: #0fabc6;
    letter-spacing: 0.3px;
    opacity: 1 !important;
    cursor: text !important;
    -webkit-user-select: text;
    user-select: text;
    font-variant-numeric: tabular-nums;
}

.roham-theme .roham-plp-fprice-input:focus {
    color: #19bfd3;
}

.roham-theme .roham-plp-fprice-currency {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1em;
    height: 2.4em;
    font-size: 11px;
    font-weight: 500;
    color: #a1a3a8;
    line-height: 1.05;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    letter-spacing: 0.08em;
}

.roham-theme .roham-plp-fprice-slider.c-filter-slider {
    position: relative;
    padding: 8px 8px 4px;
    border-bottom: 0;
    margin: 8px 0 0;
}

.roham-theme .roham-plp-fprice .c-filter-slider {
    margin: 8px 0 0;
}

.roham-theme .roham-plp-fprice-chart {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2px;
    height: 44px;
    margin: 0 4px 10px;
    padding: 0 2px;
    pointer-events: none;
}

.roham-theme .roham-plp-fprice-chart span {
    flex: 1 1 0;
    min-width: 0;
    height: var(--h, 40%);
    border-radius: 2px 2px 0 0;
    background: linear-gradient(180deg, rgba(25, 191, 211, 0.35), rgba(25, 191, 211, 0.12));
}

.roham-theme .roham-plp-fprice-ticks {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 10px;
    padding: 0 2px;
    pointer-events: none;
}

.roham-theme .roham-plp-fprice-ticks i {
    width: 1px;
    height: 6px;
    background: #d3d5d8;
}

.roham-theme .roham-plp-fprice-ends {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
    padding: 0 2px;
    font-size: 11px;
    color: #a1a3a8;
}

.roham-theme .roham-plp-c-slider.noUi-target {
    height: 3px;
    border: 0;
    border-radius: 999px;
    background: #e0e0e2;
    box-shadow: none;
}

.roham-theme .roham-plp-c-slider .noUi-connects {
    border-radius: 999px;
}

.roham-theme .roham-plp-c-slider .noUi-connect {
    background: #19bfd3;
    box-shadow: none;
}

.roham-theme .roham-plp-c-slider.noUi-horizontal {
    height: 3px;
}

.roham-theme .roham-plp-c-slider.noUi-horizontal .noUi-handle {
    width: 26px;
    height: 26px;
    top: -12px;
    right: -13px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #19bfd3;
    box-shadow: 0 2px 8px rgba(15, 171, 198, 0.45), 0 1px 3px rgba(0, 0, 0, 0.12);
    cursor: grab;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.roham-theme .roham-plp-c-slider.noUi-horizontal .noUi-handle:hover {
    transform: scale(1.06);
}

.roham-theme .roham-plp-c-slider.noUi-horizontal .noUi-handle:active,
.roham-theme .roham-plp-c-slider .noUi-active {
    cursor: grabbing;
    transform: scale(1.1);
    box-shadow: 0 4px 14px rgba(15, 171, 198, 0.5), 0 1px 4px rgba(0, 0, 0, 0.14);
}

.roham-theme .roham-plp-c-slider .noUi-handle::before,
.roham-theme .roham-plp-c-slider .noUi-handle::after,
.roham-theme .roham-plp-c-slider.noUi-horizontal .noUi-handle.noUi-handle-lower:before,
.roham-theme .roham-plp-c-slider.noUi-horizontal .noUi-handle.noUi-handle-upper:before,
.roham-theme .roham-plp-c-slider.noUi-horizontal .noUi-handle.noUi-handle-upper:after,
.roham-theme .roham-plp-c-slider.noUi-horizontal .noUi-handle.noUi-handle-lower:after {
    display: none !important;
    content: none !important;
}

.roham-theme .roham-plp-c-slider .noUi-tooltip {
    display: none;
}

.roham-theme .roham-plp-fprice-btn {
    display: block;
    width: 100%;
    margin-top: 18px;
    height: 44px;
    border: 1.5px solid #19bfd3;
    border-radius: 10px;
    background: #fff;
    color: #19bfd3;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.roham-theme .roham-plp-fprice-btn:hover {
    background: rgba(25, 191, 211, 0.08);
    box-shadow: 0 2px 10px rgba(25, 191, 211, 0.15);
}

.roham-theme .roham-plp-filter-modal .roham-plp-fprice-btn {
    display: none;
}

.roham-theme .roham-plp-ftoggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 14px 12px;
    border-bottom: 1px solid #f0f0f1;
    cursor: pointer;
}

.roham-theme .roham-plp-ftoggle:last-child {
    border-bottom: 0;
}

.roham-theme .roham-plp-ftoggle-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    font-weight: 500;
    color: #3f4064;
    line-height: 1.4;
    text-align: right;
}

.roham-theme .roham-plp-ftoggle-text small {
    font-size: 11px;
    font-weight: 400;
    color: #81858b;
}

.roham-theme .roham-plp-switch-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.roham-theme .roham-plp-switch {
    position: relative;
    flex-shrink: 0;
    width: 40px;
    height: 22px;
    border-radius: 999px;
    background: #e0e0e2;
    transition: background 0.2s ease;
}

.roham-theme .roham-plp-switch::after {
    content: "";
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease;
}

.roham-theme .roham-plp-switch-input:checked + .roham-plp-switch {
    background: #19bfd3;
}

.roham-theme .roham-plp-switch-input:checked + .roham-plp-switch::after {
    transform: translateX(-18px);
}

.roham-theme .roham-plp-products {
    min-width: 0;
}

.roham-theme .roham-plp {
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    overflow: hidden;
}

.roham-theme .roham-plp-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f1;
    background: #fff;
}

.roham-theme .roham-plp-count {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-size: 12px;
    color: #81858b;
    white-space: nowrap;
}

.roham-theme .roham-plp-count strong {
    font-size: 13px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-theme .roham-plp-sort {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
}

.roham-theme .roham-plp-sort-label {
    flex-shrink: 0;
    font-size: 12px;
    color: #81858b;
}

.roham-theme .roham-plp-sort-list {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.roham-theme .roham-plp-sort-list::-webkit-scrollbar {
    display: none;
}

.roham-theme .roham-plp-sort-btn {
    appearance: none;
    border: 0;
    background: transparent;
    color: #424750;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    padding: 6px 10px;
    border-radius: 999px;
    white-space: nowrap;
    cursor: pointer;
}

.roham-theme .roham-plp-sort-btn:hover {
    background: #f0f0f1;
}

.roham-theme .roham-plp-sort-btn.is-active {
    background: rgba(25, 191, 211, 0.12);
    color: #0f8fa3;
}

.roham-theme .roham-plp-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.roham-theme .roham-plp-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding: 12px;
    border-left: 1px solid #f0f0f1;
    border-bottom: 1px solid #f0f0f1;
    background: #fff;
    box-sizing: border-box;
    transition: box-shadow .15s ease;
}

.roham-theme .roham-plp-card:hover {
    z-index: 1;
    box-shadow: 0 2px 16px rgba(0, 0, 0, .08);
}

.roham-theme .roham-plp-card-media-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.roham-theme .roham-plp-card-media {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.roham-theme .roham-plp-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.roham-theme .roham-plp-badge {
    z-index: 2;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}

.roham-theme .roham-plp-badge--media {
    position: absolute;
    top: 8px;
    right: 8px;
}

.roham-theme .roham-plp-badge--inline {
    display: none;
    align-self: flex-start;
    margin-bottom: 2px;
}

.roham-theme .roham-plp-badge--sale {
    background: #ffe6ea;
    color: #ef394e;
}

.roham-theme .roham-plp-badge--fake {
    position: absolute;
    top: auto;
    bottom: 8px;
    right: 8px;
    background: #fff3cd;
    color: #856404;
}

.roham-theme .roham-plp-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    gap: 6px;
    padding-top: 10px;
}

.roham-theme .roham-plp-colors {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0 2px;
}

.roham-theme .roham-plp-colors > li {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .08);
    box-sizing: border-box;
}

.roham-theme .roham-plp-colors-more {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 10px;
    color: #81858b;
    line-height: 10px;
}

.roham-theme .roham-plp-card-title {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.7;
    min-height: calc(1.7em * 2);
}

.roham-theme .roham-plp-card-title a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #0c0c0c !important;
    text-decoration: none !important;
}

.roham-theme .roham-plp-card-meta {
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.roham-theme .roham-plp-rate {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    font-weight: 600;
    color: #0c0c0c;
}

.roham-theme .roham-plp-rate i {
    color: #f9bc00;
    font-size: 14px;
}

.roham-theme .roham-plp-ship {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #19bfd3;
}

.roham-theme .roham-plp-ship i {
    font-size: 14px;
}

.roham-theme .roham-plp-tag {
    display: inline-block;
    align-self: flex-start;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
}

.roham-theme .roham-plp-stock {
    font-size: 11px;
    font-weight: 600;
    color: #ef394e;
}

.roham-theme .roham-plp-card-footer {
    margin-top: auto;
    padding-top: 8px;
}

.roham-theme .roham-plp-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.roham-theme .roham-plp-price-old {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.roham-theme .roham-plp-price-old del {
    font-size: 12px;
    color: #c0c2c5;
}

.roham-theme .roham-plp-off {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 20px;
    padding: 0 7px;
    border-radius: 16px;
    background: #ef4056;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.roham-theme .roham-plp-price-final {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px;
}

.roham-theme .roham-plp-price-final strong {
    font-size: 16px;
    font-weight: 800;
    color: #0c0c0c;
}

.roham-theme .roham-plp-toman {
    font-size: 11px;
    font-weight: 500;
    color: #81858b;
}

.roham-theme .roham-plp-oos {
    text-align: center;
    padding: 10px 8px;
    border-top: 1px solid #f0f0f1;
    border-bottom: 1px solid #f0f0f1;
    color: #a1a3a8;
    font-size: 13px;
    font-weight: 700;
}

.roham-theme .roham-plp-chips {
    display: none;
}

.roham-theme .roham-plp-more {
    padding: 8px 0 4px;
}

.roham-theme .roham-plp-main {
    position: relative;
    min-height: 180px;
}

.roham-theme .is-plp-replacing .roham-plp-sort-btn {
    pointer-events: none;
}

.roham-theme .roham-plp.is-skel-loading .roham-plp-sort-btn {
    pointer-events: none;
    opacity: 0.7;
}

.roham-theme .roham-plp-grid--skel {
    min-height: 420px;
}

.roham-theme .roham-plp-skeletons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.roham-theme .roham-plp-skel {
    padding: 16px 12px 20px;
    border-left: 1px solid #f0f0f1;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-plp-skel-body {
    padding: 4px 4px 0;
}

.roham-theme .roham-plp-skel-img,
.roham-theme .roham-plp-skel-line,
.roham-theme .roham-plp-skel-price {
    background: linear-gradient(90deg, #f0f0f1 25%, #fafafa 50%, #f0f0f1 75%);
    background-size: 200% 100%;
    animation: rohamPlpShimmer 1.35s ease infinite;
    border-radius: 8px;
}

.roham-theme .roham-plp-skel-img {
    aspect-ratio: 1 / 1;
    margin-bottom: 16px;
    border-radius: 8px;
}

.roham-theme .roham-plp-skel-line {
    height: 10px;
    margin-bottom: 10px;
}

.roham-theme .roham-plp-skel-line.is-short {
    width: 55%;
}

.roham-theme .roham-plp-skel-line.is-mid {
    width: 78%;
    margin-bottom: 18px;
}

.roham-theme .roham-plp-skel-price {
    height: 18px;
    width: 42%;
    margin-right: auto;
    border-radius: 6px;
}

@keyframes rohamPlpShimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.roham-theme .roham-plp-sentinel {
    height: 1px;
    width: 100%;
}

.roham-theme .roham-plp-end {
    margin: 0;
    padding: 16px;
    text-align: center;
    font-size: 12px;
    color: #81858b;
}

.roham-theme .roham-plp--empty {
    border: 1px solid #e0e0e2;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    min-height: 360px;
}

.roham-theme .roham-plp--empty .roham-plp-main {
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.roham-theme .roham-plp-empty {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 40px 24px 48px;
    text-align: center;
}

.roham-theme .roham-plp-empty-visual {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.roham-theme .roham-plp-empty-svg {
    width: min(200px, 58vw);
    height: auto;
    animation: rohamPlpEmptyFloat 3.2s ease-in-out infinite;
}

@keyframes rohamPlpEmptyFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.roham-theme .roham-plp-empty-title {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.5;
    color: #0c0c0c;
}

.roham-theme .roham-plp-empty-desc {
    margin: 0 auto 18px;
    max-width: 380px;
    font-size: 13px;
    line-height: 1.85;
    color: #62666d;
}

.roham-theme .roham-plp-empty-tips {
    list-style: none;
    margin: 0 auto 24px;
    padding: 14px 16px;
    max-width: 360px;
    text-align: right;
    background: #f7f8fa;
    border: 1px solid #f0f0f1;
    border-radius: 12px;
}

.roham-theme .roham-plp-empty-tips li {
    position: relative;
    padding: 6px 18px 6px 0;
    font-size: 12px;
    line-height: 1.7;
    color: #424750;
}

.roham-theme .roham-plp-empty-tips li::before {
    content: "";
    position: absolute;
    right: 0;
    top: 14px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #19bfd3;
}

.roham-theme .roham-plp-empty-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.roham-theme .roham-plp-empty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.12s ease;
}

.roham-theme .roham-plp-empty-btn:active {
    transform: scale(0.98);
}

.roham-theme .roham-plp-empty-btn--primary {
    border: 0;
    background: #ef4056;
    color: #fff;
}

.roham-theme .roham-plp-empty-btn--primary:hover {
    background: #e02840;
    color: #fff;
}

.roham-theme .roham-plp-empty-btn--ghost {
    border: 1px solid #e0e0e2;
    background: #fff;
    color: #3f4064;
}

.roham-theme .roham-plp-empty-btn--ghost:hover {
    border-color: #19bfd3;
    color: #19bfd3;
    background: #f7fcfd;
}

.roham-theme .roham-plp-empty-filters-btn {
    display: none;
}

@media (max-width: 991.98px) {
    .roham-theme .roham-plp--empty {
        border: 0;
        border-radius: 0;
        background: transparent;
        min-height: 0;
    }

    .roham-theme .roham-plp--empty .roham-plp-main {
        min-height: 0;
        display: block;
    }

    .roham-theme .roham-plp-empty {
        padding: 28px 16px 120px;
        max-width: none;
    }

    .roham-theme .roham-plp-empty-title {
        font-size: 16px;
    }

    .roham-theme .roham-plp-empty-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .roham-theme .roham-plp-empty-btn {
        width: 100%;
    }

    .roham-theme .roham-plp-empty-filters-btn {
        display: inline-flex;
    }
}

@media (min-width: 992px) {
    .roham-theme .roham-plp-empty-filters-btn {
        display: none !important;
    }
}

.roham-theme .roham-plp-filter-fab {
    display: none;
}

@media (min-width: 1200px) {
    .roham-theme .roham-plp-grid,
    .roham-theme .roham-plp-skeletons {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .roham-theme .roham-plp-grid,
    .roham-theme .roham-plp-skeletons {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    /* Sticky chips need visible overflow on ancestors */
    .roham-theme .roham-plp-page .row,
    .roham-theme .roham-plp-products,
    .roham-theme .roham-plp {
        overflow: visible !important;
    }

    .roham-theme .roham-plp {
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .roham-theme .search-page.roham-plp-page {
        padding-top: 0 !important;
        padding-bottom: 24px;
    }

    .roham-theme .roham-plp-page > .row > [class*="col-"]:first-child {
        display: none; /* empty FAB column — was creating top gap */
    }

    .roham-theme .roham-plp-page .breadcrumb {
        display: none !important;
    }

    .roham-theme .roham-plp-page .products.roham-plp-products {
        margin: 0;
        padding: 0;
    }

    /* Digikala: chips stick flush under fixed mobile search header */
    .roham-theme .roham-plp-toolbar {
        position: sticky;
        top: var(--roham-mheader-sticky-top, 0px);
        z-index: 1035;
        display: block;
        padding: 0;
        border: 0;
        border-bottom: 1px solid rgba(0, 0, 0, .06);
        background: rgba(255, 255, 255, .92);
        -webkit-backdrop-filter: saturate(1.2) blur(10px);
        backdrop-filter: saturate(1.2) blur(10px);
        margin-left: -16px;
        margin-right: -16px;
        width: auto;
        box-shadow: 0 4px 16px rgba(0, 0, 0, .04);
    }

    .roham-theme .roham-plp-count {
        display: none;
    }

    .roham-theme .roham-plp-sort-label {
        display: none;
    }

    .roham-theme .roham-plp-sort {
        display: none;
        padding: 6px 12px 10px;
        border-bottom: 1px solid #f0f0f1;
        background: transparent;
    }

    .roham-theme .roham-plp-toolbar.is-sort-open .roham-plp-sort {
        display: flex;
    }

    .roham-theme .roham-plp-chips {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 8px 12px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        background: transparent;
    }

    .roham-theme .roham-plp-chips::-webkit-scrollbar {
        display: none;
    }

    .roham-theme .roham-plp-chip {
        appearance: none;
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        height: 32px;
        padding: 0 12px 0 10px;
        border: 1px solid transparent;
        border-radius: 999px;
        background: #f0f0f1;
        color: #3f4064;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: -.01em;
        white-space: nowrap;
        cursor: pointer;
        transition: background .15s ease, color .15s ease, box-shadow .15s ease, border-color .15s ease;
    }

    .roham-theme .roham-plp-chip:active {
        transform: scale(.98);
    }

    .roham-theme .roham-plp-chip i {
        font-size: 15px;
        color: #62666d;
    }

    .roham-theme .roham-plp-chip.is-on,
    .roham-theme .roham-plp-chip.has-filters {
        border-color: rgba(25, 191, 211, .35);
        color: #0f8fa3;
        background: rgba(25, 191, 211, .1);
        box-shadow: inset 0 0 0 1px rgba(25, 191, 211, .08);
    }

    .roham-theme .roham-plp-chip.is-on i,
    .roham-theme .roham-plp-chip.has-filters i {
        color: #19bfd3;
    }

    .roham-theme .roham-plp-chip-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        border-radius: 999px;
        background: linear-gradient(180deg, #ff5a6e 0%, #ef4056 100%);
        color: #fff;
        font-size: 10px;
        font-weight: 800;
        line-height: 1;
        box-shadow: 0 1px 3px rgba(239, 64, 86, .35);
    }

    .roham-theme .roham-plp-chip-badge[hidden] {
        display: none !important;
    }

    .roham-theme .roham-plp-grid,
    .roham-theme .roham-plp-skeletons {
        grid-template-columns: 1fr;
        background: #fff;
        margin-left: -16px;
        margin-right: -16px;
    }

    .roham-theme .roham-plp-card {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 14px;
        align-items: stretch;
        min-height: 0;
        height: auto;
        padding: 14px 16px;
        border-left: 0;
        border-bottom: 0;
        box-shadow: inset 0 -1px 0 #f0f0f1;
        transition: background .15s ease;
    }

    .roham-theme .roham-plp-card:active {
        background: #fafafa;
    }

    .roham-theme .roham-plp-card:hover {
        box-shadow: inset 0 -1px 0 #f0f0f1;
    }

    .roham-theme .roham-plp-card.is-oos {
        opacity: .88;
    }

    .roham-theme .roham-plp-card.is-oos .roham-plp-card-media {
        filter: grayscale(.35);
    }

    .roham-theme .roham-plp-card-media-col {
        gap: 8px;
    }

    .roham-theme .roham-plp-card-media {
        margin: 0;
        aspect-ratio: 1 / 1;
        border-radius: 12px;
        background: linear-gradient(180deg, #fafafa 0%, #f3f3f3 100%);
        box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
    }

    .roham-theme .roham-plp-card-media img {
        padding: 6px;
        box-sizing: border-box;
    }

    .roham-theme .roham-plp-colors > li {
        width: 9px;
        height: 9px;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, .9), 0 0 0 1.5px rgba(0, 0, 0, .06);
        border: 0;
    }

    .roham-theme .roham-plp-badge--media {
        display: none;
    }

    .roham-theme .roham-plp-badge--inline {
        display: inline-flex;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 10px;
        letter-spacing: -.01em;
    }

    .roham-theme .roham-plp-card-body {
        padding-top: 2px;
        gap: 7px;
    }

    .roham-theme .roham-plp-card-title {
        min-height: 0;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.75;
        color: #3f4064;
    }

    .roham-theme .roham-plp-card-title a {
        -webkit-line-clamp: 2;
        color: #3f4064 !important;
    }

    .roham-theme .roham-plp-card-meta {
        display: flex;
        gap: 8px 12px;
    }

    .roham-theme .roham-plp-rate {
        font-size: 11px;
        font-weight: 700;
        color: #424750;
        background: #fff8e6;
        border-radius: 999px;
        padding: 2px 7px 2px 6px;
    }

    .roham-theme .roham-plp-rate i {
        font-size: 12px;
    }

    .roham-theme .roham-plp-ship {
        font-size: 11px;
        padding: 2px 7px;
        border-radius: 999px;
        background: rgba(25, 191, 211, .08);
    }

    .roham-theme .roham-plp-tag {
        display: none;
    }

    .roham-theme .roham-plp-stock {
        display: inline-flex;
        align-self: flex-start;
        margin: 0;
        padding: 3px 8px;
        border-radius: 6px;
        background: rgba(239, 57, 78, .08);
        font-size: 10px;
        font-weight: 700;
        line-height: 1.5;
        color: #ef394e;
    }

    .roham-theme .roham-plp-card-footer {
        margin-top: auto;
        padding-top: 2px;
    }

    .roham-theme .roham-plp-price {
        align-items: flex-start;
        gap: 3px;
    }

    .roham-theme .roham-plp-price-final {
        justify-content: flex-start;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 5px 6px;
    }

    .roham-theme .roham-plp-price-final strong {
        font-size: 15px;
        font-weight: 800;
        letter-spacing: -.02em;
        color: #0c0c0c;
        order: 2;
    }

    .roham-theme .roham-plp-toman {
        order: 3;
        font-size: 10px;
        font-weight: 600;
        color: #81858b;
    }

    .roham-theme .roham-plp-off {
        order: 1;
        min-width: 32px;
        height: 20px;
        border-radius: 999px;
        font-size: 11px;
        box-shadow: 0 2px 6px rgba(239, 64, 86, .25);
    }

    .roham-theme .roham-plp-price-old {
        justify-content: flex-start;
    }

    .roham-theme .roham-plp-price-old del {
        font-size: 11px;
        color: #a1a3a8;
    }

    .roham-theme .roham-plp-oos {
        display: inline-flex;
        align-self: flex-start;
        text-align: right;
        margin: 0;
        padding: 5px 10px;
        border: 0;
        border-radius: 8px;
        background: #f0f0f1;
        font-size: 11px;
        font-weight: 700;
        color: #81858b;
    }

    .roham-theme .roham-plp-skel {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 14px;
        padding: 14px 16px;
        border-left: 0;
        box-shadow: inset 0 -1px 0 #f0f0f1;
    }

    .roham-theme .roham-plp-skel-img {
        margin: 0;
        border-radius: 12px;
    }

    /* Digikala: filter lives in chips — hide bottom FAB */
    .roham-theme .roham-plp-filter-fab,
    .roham-theme .search-page .roham-plp-filter-fab.show-sm {
        display: none !important;
    }
}

@media (max-width: 575.98px) {
    .roham-theme .roham-plp-card {
        grid-template-columns: 104px minmax(0, 1fr);
        padding: 12px 14px;
        gap: 12px;
    }

    .roham-theme .roham-plp-skel {
        grid-template-columns: 104px minmax(0, 1fr);
        padding: 12px 14px;
    }
}

/* Kill legacy DigiLara listing float layout on Roham PLP */
.roham-theme .roham-plp-page .listing,
.roham-theme .roham-plp-page .listing-items,
.roham-theme .roham-plp-page .product-box {
    float: none !important;
    width: auto !important;
}

.roham-theme .roham-plp-page .breadcrumb {
    margin-bottom: 12px;
    padding: 8px 0;
    background: transparent;
    border: 0;
}

.roham-theme .roham-plp-page .breadcrumb nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    font-size: 12px;
    color: #81858b;
}

.roham-theme .roham-plp-page .breadcrumb a {
    color: #81858b !important;
    text-decoration: none !important;
}

.roham-theme .roham-plp-page .breadcrumb h1 {
    display: inline;
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    color: #0c0c0c;
}

/* Cart */
.roham-theme .cart-empty {
    background: #fff;
    border-radius: var(--roham-radius-xl);
    padding: 48px 24px;
    margin: 24px 0;
}

.roham-theme .cart-empty-icon {
    color: var(--roham-muted);
    font-size: 64px;
}

.roham-theme .btn-success-element,
.roham-theme .cart-page .btn-danger,
.roham-theme .cart-page .btn-primary,
.roham-theme .shopping-page .btn-primary {
    background: var(--roham-red) !important;
    border-color: var(--roham-red) !important;
    color: #fff !important;
    border-radius: var(--roham-radius);
}

/* Loading spinner brand */
.roham-theme .dot-floating,
.roham-theme .dot-floating::before,
.roham-theme .dot-floating::after {
    background-color: var(--roham-red) !important;
    color: var(--roham-red) !important;
}

/* Force remaining orange accents to Digikala red */
.roham-theme [style*="#F06437"],
.roham-theme [style*="#f06437"] {
    /* handled case-by-case via cascade below */
}

.roham-theme .text-primary,
.roham-theme .border-primary,
.roham-theme .badge-primary {
    color: var(--roham-red) !important;
    border-color: var(--roham-red) !important;
}

/* Don't let Bootstrap row negative margins cancel container gutters — all breakpoints */
.roham-theme .roham-pdp-sections-wrap > .row,
.roham-theme .roham-pdp > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.roham-theme .roham-pdp-sections-wrap > .row > [class*="col-"],
.roham-theme .roham-pdp > .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

/* ========== PDP gutters (final) — text never hugs white card edges ========== */
.roham-theme .roham-pdp-sections.product-tabs .roham-pdp-secnav,
.roham-theme .roham-pdp-sections .roham-pdp-secnav--desk {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}

.roham-theme .roham-pdp-sections.product-tabs .roham-pdp-secbody {
    padding: 8px 16px 32px !important;
    box-sizing: border-box !important;
}

.roham-theme .roham-pdp-sections .roham-pdp-sec-title,
.roham-theme .roham-pdp-sections .roham-pdp-intro,
.roham-theme .roham-pdp-sections .roham-pdp-clamp,
.roham-theme .roham-pdp-sections .roham-pdp-specs-block,
.roham-theme .roham-pdp-sections .content-expert-stats,
.roham-theme .roham-pdp-sections .parent-comment,
.roham-theme .roham-pdp-sections .roham-pdp-more {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (min-width: 992px) {
    .roham-theme .roham-pdp-sections.product-tabs .roham-pdp-secnav,
    .roham-theme .roham-pdp-sections .roham-pdp-secnav--desk {
        padding-left: 24px !important;
        padding-right: 24px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .roham-theme .roham-pdp-sections.product-tabs .roham-pdp-secbody {
        padding: 12px 24px 40px !important;
    }

    /* Sticky tabs stay inside the rounded sections card */
    html.roham-pdp-desk-tabs-stuck .roham-pdp-secnav--desk,
    .roham-theme .roham-pdp-secnav--desk.is-stuck {
        padding-left: 24px !important;
        padding-right: 24px !important;
        border-radius: 8px 8px 0 0;
    }

    html.roham-pdp-desk-tabs-stuck .roham-pdp-secnav--desk .roham-pdp-secnav-list,
    .roham-theme .roham-pdp-secnav--desk.is-stuck .roham-pdp-secnav-list {
        max-width: none;
        width: 100%;
        margin: 0;
        padding: 0 !important;
        box-sizing: border-box;
    }
}

@media (max-width: 991.98px) {
    /* On mobile each section is its own white card — pad the card, not the wrapper */
    .roham-theme .roham-pdp-sections.product-tabs .roham-pdp-secbody {
        padding: 0 !important;
    }

    .roham-theme .roham-pdp-sections .roham-pdp-sec {
        padding: 20px 16px 16px !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   Digikala-style auth (login / register / OTP / forgot password)
   ========================================================================== */
body.roham-auth-page {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh;
    min-height: 100dvh;
    background: #fff !important;
    color: #0c0c0c;
    font-family: var(--ds-font, Shabnam, Tahoma, sans-serif);
    -webkit-font-smoothing: antialiased;
}

body.roham-auth-page .page-wrapper,
body.roham-auth-page .site-notification,
body.roham-auth-page .roham-demo-banner {
    display: none !important;
}

/* Kill global link/button theme bleed on auth */
body.roham-auth-page a {
    text-decoration: none !important;
}

body.roham-auth-page button,
body.roham-auth-page input,
body.roham-auth-page label {
    font-family: inherit;
}

body.roham-auth-page .roham-auth {
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: #fff;
    padding: 0;
}

body.roham-auth-page .roham-auth-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
    background: #fff;
    padding: 8px 20px 40px;
    display: flex;
    flex-direction: column;
}

/* —— Header: back + logo —— */
body.roham-auth-page .roham-auth-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin: 0 0 28px;
}

body.roham-auth-page .roham-auth-back {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    align-self: flex-start; /* RTL → top-right */
    width: 40px;
    height: 40px;
    margin: 0 -8px 0 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #0c0c0c !important;
    line-height: 0;
}

body.roham-auth-page .roham-auth-back svg {
    display: block;
    color: inherit;
}

body.roham-auth-page .roham-auth-back:hover,
body.roham-auth-page .roham-auth-back:focus {
    background: #f0f0f1;
    color: #0c0c0c !important;
}

body.roham-auth-page .roham-auth-logo {
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 20px 0 8px;
    line-height: 0;
}

body.roham-auth-page .roham-auth-logo img {
    display: block;
    height: 40px;
    width: auto;
    max-width: 168px;
    object-fit: contain;
}

body.roham-auth-page .roham-auth-body {
    width: 100%;
}

/* Smart vertical centering (optical: slightly above true center) */
@media (max-width: 767.98px) {
    body.roham-auth-page .roham-auth {
        align-items: stretch;
        min-height: 100vh;
        min-height: 100dvh;
    }

    body.roham-auth-page .roham-auth-card {
        min-height: 100vh;
        min-height: 100dvh;
        max-width: 100%;
        padding: 8px 20px 28px;
        display: flex;
        flex-direction: column;
    }

    body.roham-auth-page .roham-auth-head {
        flex-shrink: 0;
        margin-bottom: 0;
    }

    body.roham-auth-page .roham-auth-body--center {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-bottom: 8vh;
        min-height: 0;
    }
}

body.roham-auth-page .roham-auth-title {
    margin: 0 0 10px;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
    color: #0c0c0c;
    text-align: right;
}

body.roham-auth-page .roham-auth-subtitle {
    margin: 0 0 28px;
    padding: 0;
    font-size: 12px;
    font-weight: 400;
    line-height: 2;
    color: #81858b;
    text-align: right;
}

body.roham-auth-page .roham-auth-mobile {
    display: inline-block;
    margin: 0 2px;
    font-weight: 700;
    color: #0c0c0c;
    direction: ltr;
    unicode-bidi: embed;
}

body.roham-auth-page .roham-auth-inline-link {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: #19bfd3 !important;
    font-weight: 500;
    font-size: inherit;
    font-family: inherit;
    white-space: nowrap;
    cursor: pointer;
}

body.roham-auth-page .roham-auth-inline-link:hover {
    color: #0f8fa3 !important;
}

body.roham-auth-page button.roham-auth-inline-link {
    display: inline;
}

body.roham-auth-page .roham-auth-form {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
}

body.roham-auth-page .roham-auth-field {
    position: relative;
    width: 100%;
    margin: 0 0 16px;
}

body.roham-auth-page .roham-auth-input {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 100%;
    height: 52px;
    margin: 0;
    padding: 16px 14px 10px;
    border: 1px solid #c0c2c5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0c0c0c !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}

body.roham-auth-page .roham-auth-input[dir="ltr"] {
    text-align: left;
    letter-spacing: .02em;
}

body.roham-auth-page .roham-auth-input:hover {
    border-color: #a1a3a8 !important;
}

body.roham-auth-page .roham-auth-input:focus {
    border-color: #19bfd3 !important;
    box-shadow: none !important;
}

body.roham-auth-page .roham-auth-field.is-invalid .roham-auth-input,
body.roham-auth-page .roham-auth-input.error {
    border-color: #ef394e !important;
}

body.roham-auth-page .roham-auth-label {
    position: absolute;
    right: 12px;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    margin: 0;
    padding: 0 4px;
    background: #fff;
    color: #a1a3a8;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    pointer-events: none;
    transition: top .15s ease, font-size .15s ease, color .15s ease;
}

body.roham-auth-page .roham-auth-input:focus + .roham-auth-label,
body.roham-auth-page .roham-auth-input:not(:placeholder-shown) + .roham-auth-label {
    top: 0;
    font-size: 11px;
    color: #81858b;
}

body.roham-auth-page .roham-auth-input:focus + .roham-auth-label {
    color: #19bfd3;
}

body.roham-auth-page .roham-auth-error,
body.roham-auth-page .roham-auth-form label.roham-auth-error {
    display: block;
    margin: -8px 0 12px;
    font-size: 12px;
    color: #ef394e;
    text-align: right;
}

body.roham-auth-page .roham-auth-alert {
    margin: 0 0 16px;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(239, 57, 78, .08);
    color: #ef394e;
    font-size: 13px;
    line-height: 1.7;
    text-align: right;
}

body.roham-auth-page .roham-auth-btn {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    height: 48px;
    margin: 8px 0 0;
    padding: 0 16px;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--ds-color-primary, #ef394e) !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: none !important;
    transition: background .15s ease, opacity .15s ease;
}

body.roham-auth-page .roham-auth-btn:hover,
body.roham-auth-page .roham-auth-btn:focus {
    background: var(--ds-color-primary-hover, #e6123d) !important;
    color: #fff !important;
}

body.roham-auth-page .roham-auth-btn:disabled,
body.roham-auth-page .roham-auth-btn.is-loading {
    opacity: .65;
    cursor: wait;
}

body.roham-auth-page .roham-auth-terms {
    margin: 20px 0 0;
    padding: 0;
    font-size: 11px;
    font-weight: 400;
    line-height: 2.1;
    color: #81858b;
    text-align: right;
}

body.roham-auth-page .roham-auth-terms a {
    color: #19bfd3 !important;
    font-weight: 500;
}

body.roham-auth-page .roham-auth-terms a:hover {
    color: #0f8fa3 !important;
}

body.roham-auth-page .roham-auth-forgot {
    align-self: flex-start;
    margin: 0 0 20px;
    font-size: 12px;
    font-weight: 500;
    color: #19bfd3 !important;
}

body.roham-auth-page .roham-auth-forgot:hover {
    color: #0f8fa3 !important;
}

body.roham-auth-page .roham-auth-alt-link {
    display: block;
    margin-top: 28px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    color: #19bfd3 !important;
}

body.roham-auth-page .roham-auth-alt-link:hover {
    color: #0f8fa3 !important;
}

body.roham-auth-page .roham-auth-resend {
    margin-top: 18px;
    font-size: 12px;
    color: #81858b;
    text-align: right;
    line-height: 2;
}

body.roham-auth-page .roham-auth-resend #countdown-content-otp,
body.roham-auth-page .roham-auth-resend #try-otp-js {
    margin: 0;
}

body.roham-auth-page .roham-auth-resend #timer {
    font-weight: 700;
    color: #0c0c0c;
    direction: ltr;
    display: inline-block;
    unicode-bidi: embed;
}

body.roham-auth-page .roham-otp {
    margin: 8px 0 4px;
    direction: ltr;
}

body.roham-auth-page .roham-otp-boxes {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    direction: ltr;
}

body.roham-auth-page .roham-otp-box {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    width: 48px;
    height: 52px;
    margin: 0;
    padding: 0;
    border: 1.5px solid #c0c2c5 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0c0c0c !important;
    font-size: 22px;
    font-weight: 700;
    font-family: inherit;
    text-align: center;
    line-height: 1;
    outline: none !important;
    box-shadow: none !important;
    caret-color: #19bfd3;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .12s ease;
}

body.roham-auth-page .roham-otp-box:hover {
    border-color: #a1a3a8 !important;
}

body.roham-auth-page .roham-otp-box:focus {
    border-color: #19bfd3 !important;
    box-shadow: 0 0 0 3px rgba(25, 191, 211, .15) !important;
}

body.roham-auth-page .roham-otp-box.is-filled {
    border-color: #81858b !important;
    background: #fafafa !important;
}

body.roham-auth-page .roham-otp.is-invalid .roham-otp-box,
body.roham-auth-page .roham-otp-box.is-error {
    border-color: #ef394e !important;
    animation: roham-otp-shake .35s ease;
}

body.roham-auth-page .roham-otp-box:disabled {
    opacity: .7;
}

@keyframes roham-otp-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-3px); }
    75% { transform: translateX(3px); }
}

body.roham-auth-page .roham-auth-otp-error,
body.roham-auth-page #otp-error,
body.roham-auth-page #password-error {
    display: block;
    min-height: 0;
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #ef394e;
    text-align: center;
    line-height: 1.7;
}

body.roham-auth-page .roham-auth-otp-error[hidden],
body.roham-auth-page #otp-error[hidden],
body.roham-auth-page #password-error[hidden] {
    display: none !important;
}

body.roham-auth-page .roham-auth-otp-separators,
body.roham-auth-page .roham-auth-otp-input {
    display: none !important;
}

@media (max-width: 379.98px) {
    body.roham-auth-page .roham-otp-boxes {
        gap: 6px;
    }

    body.roham-auth-page .roham-otp-box {
        width: 42px;
        height: 48px;
        font-size: 20px;
        border-radius: 8px !important;
    }
}

/* Desktop Digikala card */
@media (min-width: 768px) {
    body.roham-auth-page {
        background: #fff !important;
    }

    body.roham-auth-page .roham-auth {
        align-items: center;
        padding: 48px 16px;
    }

    body.roham-auth-page .roham-auth-card {
        max-width: 400px;
        border: 1px solid #e0e0e2;
        border-radius: 8px;
        padding: 20px 28px 28px;
    }

    body.roham-auth-page .roham-auth-head {
        /* RTL row: back (first) → right, logo (second) → left — Digikala desktop */
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 24px;
    }

    body.roham-auth-page .roham-auth-back {
        align-self: auto;
        margin: 0;
    }

    body.roham-auth-page .roham-auth-logo {
        margin: 0;
        justify-content: flex-start;
    }

    body.roham-auth-page .roham-auth-logo img {
        height: 30px;
        max-width: 140px;
    }

    body.roham-auth-page .roham-auth-title {
        font-size: 17px;
    }
}

/* Login modal */
.roham-theme .modal-login .modal-content {
    border: 1px solid #e0e0e2;
    border-radius: 8px;
    overflow: hidden;
}

.roham-theme .modal-login .modal-header {
    border-bottom: 0;
    padding: 20px 20px 0;
}

.roham-theme .modal-login .modal-title {
    font-size: 16px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-theme .modal-login .modal-body {
    padding: 12px 20px 24px;
}

.roham-theme .modal-login .label-element {
    font-size: 12px;
    color: #62666d;
    margin-bottom: 6px;
}

.roham-theme .modal-login .input-element {
    height: 48px;
    border: 1px solid #c0c2c5;
    border-radius: 8px;
    font-size: 14px;
}

.roham-theme .modal-login .input-element:focus {
    border-color: #19bfd3;
    box-shadow: 0 0 0 1px rgba(25, 191, 211, .15);
}

.roham-theme .modal-login .btn-element.btn-info-element {
    height: 48px;
    border-radius: 8px;
    background: var(--ds-color-primary, #ef394e) !important;
    border-color: var(--ds-color-primary, #ef394e) !important;
    font-weight: 700;
}

.roham-theme .modal-login .border-bottom-dt,
.roham-theme .modal-login .account-box-footer a {
    color: #19bfd3;
    border-bottom-color: transparent !important;
}

.roham-theme .modal-login .account-box-footer {
    border-top: 1px solid #f0f0f1;
    padding-top: 14px;
    font-size: 13px;
    color: #62666d;
}

/* ==========================================================================
   Seller chat shell — desktop dock near buybox + mobile fullscreen
   ========================================================================== */
.roham-chat-shell {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 0 0 16px 16px;
    pointer-events: none;
    box-sizing: border-box;
}

.roham-chat-shell[hidden]:not(.is-open) {
    display: none !important;
}

.roham-chat-shell.is-open {
    display: flex !important;
    pointer-events: auto;
}

.roham-chat-shell-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 12, 12, .4);
    opacity: 0;
    transition: opacity .28s ease;
    cursor: pointer;
}

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

.roham-chat-shell-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(380px, calc(100vw - 32px));
    height: min(640px, calc(100dvh - 32px));
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .22);
    transform: translateY(20px) scale(.98);
    opacity: 0;
    transition: transform .32s cubic-bezier(.2,.8,.2,1), opacity .28s ease;
}

.roham-chat-shell.is-open .roham-chat-shell-panel {
    transform: none;
    opacity: 1;
}

.roham-chat-shell-close {
    appearance: none;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(12, 12, 12, .5);
    color: #fff;
    display: none;
    place-items: center;
    font-size: 20px;
    cursor: pointer;
}

.roham-chat-shell-close.d-lg-flex {
    display: none;
}

@media (min-width: 992px) {
    .roham-chat-shell-close.d-lg-flex {
        display: grid;
    }
}

.roham-chat-iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #f5f5f5;
}

body.roham-chat-modal-open,
html.roham-chat-modal-open {
    overflow: hidden !important;
}

@media (max-width: 991.98px) {
    .roham-chat-shell {
        align-items: stretch;
        justify-content: stretch;
        padding: 0;
    }

    .roham-chat-shell-panel {
        width: 100%;
        height: 100%;
        max-height: none;
        border-radius: 0;
        transform: translateY(100%);
    }

    .roham-chat-shell.is-open .roham-chat-shell-panel {
        transform: translateY(0);
    }

    .roham-pdp-sticky-chat {
        appearance: none;
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        margin: 0;
        padding: 0;
        border: 1px solid #e0e0e2;
        border-radius: 50%;
        background: #fff;
        color: #3f4064;
        font-size: 18px;
        cursor: pointer;
        transition: background .15s ease, border-color .15s ease, color .15s ease;
    }

    .roham-pdp-sticky-chat:active {
        background: #f0f0f1;
        border-color: #c0c2c5;
        color: var(--ds-color-primary, #ef4056);
    }

    .roham-pdp-sticky .js-roham-sticky-add {
        flex: 1 1 auto;
        order: 0;
    }

    .roham-pdp-sticky .roham-pdp-sticky-side {
        order: 0;
    }

    .roham-pdp-sticky .price {
        align-items: flex-start;
        max-width: none;
    }
}

.roham-theme .roham-chat-fab {
    display: none !important;
}

/* ==========================================================================
   Basalam-style quick login
   ========================================================================== */
.roham-ql {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.roham-ql[hidden]:not(.is-open) {
    display: none !important;
}

.roham-ql.is-open {
    display: flex !important;
    pointer-events: auto;
}

.roham-ql-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 12, 12, .5);
    opacity: 0;
    transition: opacity .28s ease;
    cursor: pointer;
}

.roham-ql.is-open .roham-ql-backdrop {
    opacity: 1;
}

.roham-ql-panel {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(760px, calc(100vw - 32px));
    min-height: 420px;
    max-height: calc(100dvh - 40px);
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .28);
    transform: translateY(16px) scale(.98);
    opacity: 0;
    transition: transform .32s cubic-bezier(.2,.8,.2,1), opacity .28s ease;
}

.roham-ql.is-open .roham-ql-panel {
    transform: none;
    opacity: 1;
}

.roham-ql-brand {
    flex: 0 0 42%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 32px 24px;
    background: linear-gradient(160deg, #ef4056 0%, #c9184a 100%);
    color: #fff;
    text-align: center;
}

.roham-ql-brand-mark {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .16);
    display: grid;
    place-items: center;
    font-size: 44px;
}

.roham-ql-brand-name {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.roham-ql-brand-tag {
    margin: 0;
    font-size: 13px;
    opacity: .85;
}

.roham-ql-form-side {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 36px 32px 28px;
    min-width: 0;
    overflow-y: auto;
}

.roham-ql-close {
    appearance: none;
    position: absolute;
    top: 12px;
    left: 12px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #424750;
    display: grid;
    place-items: center;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
}

.roham-ql-close:hover {
    background: #f0f0f1;
}

.roham-ql-back {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #424750;
    font-size: 24px;
    cursor: pointer;
}

.roham-ql-title {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 800;
    color: #0c0c0c;
    text-align: right;
}

.roham-ql-lead {
    margin: 0 0 20px;
    font-size: 13px;
    color: #81858b;
    line-height: 1.7;
    text-align: right;
}

.roham-ql-label {
    display: block;
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    color: #0c0c0c;
    text-align: right;
}

.roham-ql-input {
    display: block;
    width: 100%;
    height: 48px;
    margin: 0 0 8px;
    padding: 0 14px;
    border: 1px solid #c0c2c5;
    border-radius: 10px;
    background: #fff;
    color: #0c0c0c;
    font-size: 15px;
    outline: none;
    box-sizing: border-box;
}

.roham-ql-input:focus {
    border-color: #ef4056;
    box-shadow: 0 0 0 3px rgba(239, 64, 86, .12);
}

.roham-ql-hint {
    margin: 0 0 12px;
    font-size: 12px;
    color: #a1a3a8;
    text-align: right;
}

.roham-ql-error {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff0f2;
    color: #ef4056;
    font-size: 12px;
    font-weight: 600;
    text-align: right;
}

.roham-ql-legal {
    margin: 0 0 18px;
    font-size: 12px;
    color: #81858b;
    line-height: 1.7;
    text-align: right;
}

.roham-ql-legal a {
    color: #19bfd3;
    text-decoration: none;
}

.roham-ql-submit {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0 16px;
    border: 0;
    border-radius: 10px;
    background: #ef4056;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.roham-ql-submit.is-loading {
    opacity: .7;
    pointer-events: none;
}

.roham-ql-submit:hover {
    background: #e02746;
}

.roham-ql-link {
    appearance: none;
    display: inline-flex;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #19bfd3;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.roham-ql-otp {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 16px;
}

.roham-ql-otp-box {
    flex: 1 1 0;
    min-width: 0;
    height: 52px;
    border: 1px solid #c0c2c5;
    border-radius: 10px;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    color: #0c0c0c;
    outline: none;
}

.roham-ql-otp-box:focus {
    border-color: #ef4056;
    box-shadow: 0 0 0 3px rgba(239, 64, 86, .12);
}

.roham-ql-resend {
    min-height: 24px;
    margin: 0 0 16px;
    font-size: 12px;
    color: #81858b;
    text-align: right;
}

body.roham-ql-open,
html.roham-ql-open {
    overflow: hidden !important;
}

@media (max-width: 991.98px) {
    .roham-ql {
        align-items: flex-end;
    }

    .roham-ql-panel {
        width: 100%;
        min-height: 0;
        max-height: min(92dvh, 100%);
        border-radius: 16px 16px 0 0;
        flex-direction: column;
        transform: translateY(100%);
    }

    .roham-ql.is-open .roham-ql-panel {
        transform: translateY(0);
    }

    .roham-ql-brand {
        flex: 0 0 auto;
        flex-direction: row;
        justify-content: flex-start;
        gap: 12px;
        padding: 18px 20px;
        text-align: right;
    }

    .roham-ql-brand-mark {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .roham-ql-brand-name {
        font-size: 18px;
    }

    .roham-ql-brand-tag {
        display: none;
    }

    .roham-ql-form-side {
        padding: 20px 20px calc(20px + env(safe-area-inset-bottom, 0px));
    }

    .roham-ql-close {
        top: auto;
        bottom: auto;
        left: 12px;
        top: 14px;
        color: #fff;
        background: rgba(255, 255, 255, .15);
    }
}

/* ==========================================================================
   Digikala ask-question / add-review modals
   ========================================================================== */
.roham-theme .roham-ask-modal .modal-dialog.roham-ask-modal-dialog {
    max-width: 480px;
    margin: 1.25rem auto;
}

.roham-theme .roham-ask-modal-content {
    position: relative;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .18);
    background: #fff;
}

.roham-theme .roham-ask-modal-head {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 56px;
    padding: 14px 48px;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-ask-modal-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #0c0c0c;
    text-align: center;
}

.roham-theme .roham-ask-modal-close {
    appearance: none;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #424750;
    display: grid;
    place-items: center;
    font-size: 22px;
    cursor: pointer;
    padding: 0;
}

.roham-theme .roham-ask-modal-close:hover {
    background: #f0f0f1;
}

.roham-theme .roham-ask-modal-body {
    padding: 18px 20px 8px;
}

.roham-theme .roham-ask-modal-label {
    display: block;
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: #0c0c0c;
    text-align: right;
}

.roham-theme .roham-ask-req {
    color: #ef394e;
}

.roham-theme .roham-ask-field {
    position: relative;
}

.roham-theme .roham-ask-textarea {
    display: block;
    width: 100%;
    min-height: 140px;
    margin: 0;
    padding: 12px 14px 28px;
    border: 1px solid #c0c2c5;
    border-radius: 10px;
    background: #fff;
    color: #0c0c0c;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.85;
    resize: vertical;
    outline: none;
    box-shadow: none;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.roham-theme .roham-ask-textarea:focus,
.roham-theme .roham-ask-textarea.is-filled:focus {
    border-color: #19bfd3;
    box-shadow: 0 0 0 3px rgba(25, 191, 211, .12);
}

.roham-theme .roham-ask-counter {
    position: absolute;
    left: 12px;
    bottom: 10px;
    font-size: 11px;
    color: #a1a3a8;
    pointer-events: none;
    direction: ltr;
}

.roham-theme .roham-ask-modal-foot {
    padding: 12px 20px 18px;
    border-top: 1px solid #f0f0f1;
}

.roham-theme .roham-ask-submit {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    border: 0;
    border-radius: 10px;
    background: #e0e0e2;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: not-allowed;
    transition: background .15s ease, opacity .15s ease;
}

.roham-theme .roham-ask-submit.is-ready {
    background: var(--ds-color-primary, #ef394e);
    cursor: pointer;
}

.roham-theme .roham-ask-submit.is-ready:hover {
    background: var(--ds-color-primary-hover, #e6123d);
}

.roham-theme .roham-ask-submit.is-loading {
    opacity: .7;
    pointer-events: none;
}

.roham-theme .roham-ask-legal {
    margin: 12px 0 0;
    font-size: 11px;
    line-height: 1.9;
    color: #81858b;
    text-align: center;
}

.roham-theme .roham-ask-legal a {
    color: #19bfd3 !important;
    font-weight: 500;
}

/* Review-specific */
.roham-theme .roham-review-product {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-bottom: 1px solid #f0f0f1;
}

.roham-theme .roham-review-product-img {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    background: #f7f8fa;
}

.roham-theme .roham-review-product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.roham-theme .roham-review-product-title {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.7;
    color: #0c0c0c;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.roham-theme .roham-review-identity {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid #f0f0f1;
    border-radius: 10px;
    background: #fafafa;
    cursor: pointer;
    text-align: right;
    font: inherit;
}

.roham-theme .roham-review-identity:hover {
    border-color: #e0e0e2;
}

.roham-theme .roham-review-identity-name {
    font-size: 12px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-theme .roham-review-identity-badge {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #f0f0f1;
    color: #424750;
    font-size: 11px;
    font-weight: 600;
}

.roham-theme .roham-review-tip { display: none; }

.roham-theme .roham-ask-modal-foot--row {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.roham-theme .roham-answer-question {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f7f7f8;
    color: #0c0c0c;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.8;
    text-align: right;
}

.roham-identity-panel {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: none;
}

.roham-identity-panel[hidden] {
    display: none !important;
}

.roham-identity-head {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 12px 48px;
    border-bottom: 1px solid #f0f0f1;
    background: #fff;
}

.roham-identity-title {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.4;
    text-align: center;
}

.roham-identity-head .roham-ask-modal-close {
    left: 8px;
    right: auto;
}

.roham-identity-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 4px 0 16px;
    background: #fff;
}

.roham-identity-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f1;
    cursor: pointer;
    background: #fff;
}

.roham-identity-option:last-child {
    border-bottom: 0;
}

.roham-identity-option:active {
    background: #fafafa;
}

.roham-identity-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.roham-identity-radio {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    border: 2px solid #c0c2c5;
    border-radius: 50%;
    position: relative;
    background: #fff;
    box-sizing: border-box;
}

.roham-identity-option input:checked + .roham-identity-radio {
    border-color: var(--ds-color-primary, #ef4056);
}

.roham-identity-option input:checked + .roham-identity-radio::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--ds-color-primary, #ef4056);
}

.roham-identity-copy {
    flex: 1;
    min-width: 0;
    text-align: right;
}

.roham-identity-copy strong {
    display: block;
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-identity-copy span {
    display: block;
    font-size: 12px;
    color: #81858b;
    line-height: 1.7;
}

.roham-thanks-dialog { max-width: 400px; margin: 1.25rem auto; }
.roham-thanks-content {
    border: 0;
    border-radius: 16px;
    padding: 28px 24px 22px;
    text-align: center;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .2);
}
.roham-thanks-art {
    position: relative;
    display: grid;
    place-items: center;
    margin: 0 auto 16px;
    width: 120px;
    height: 100px;
}
.roham-thanks-emoji {
    font-size: 64px;
    line-height: 1;
    filter: drop-shadow(0 8px 16px rgba(0,0,0,.12));
}
.roham-thanks-confetti {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 30%, #ef4056 0 3px, transparent 4px),
        radial-gradient(circle at 80% 25%, #19bfd3 0 3px, transparent 4px),
        radial-gradient(circle at 30% 80%, #f9a825 0 2.5px, transparent 3.5px),
        radial-gradient(circle at 75% 70%, #8b5cf6 0 2.5px, transparent 3.5px);
    pointer-events: none;
}
.roham-thanks-title { margin: 0 0 10px; font-size: 17px; font-weight: 800; color: #0c0c0c; line-height: 1.6; }
.roham-thanks-text { margin: 0 0 22px; font-size: 13px; color: #81858b; line-height: 1.8; }
.roham-thanks-btn {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 10px;
    background: var(--ds-color-primary, #ef4056);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.roham-pdp-qa-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    margin: 0 0 18px;
}
.roham-pdp-qa-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

/* Q&A: clamp + «مشاهده بیشتر», then Digikala-style pager below */
.roham-pdp-qa-block { margin: 0; }
.roham-pdp-qa-pager {
    display: flex;
    justify-content: center;
    margin: 8px 0 0;
    padding: 20px 0 4px;
}
.roham-theme .roham-pager { width: 100%; }
.roham-theme .roham-pager-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px 2px;
    list-style: none;
    margin: 0;
    padding: 0;
    direction: rtl;
}
.roham-theme .roham-pager-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    margin: 0;
}
.roham-theme .roham-pager-item a,
.roham-theme .roham-pager-item > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border-radius: 50%;
    color: #0c0c0c;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.roham-theme .roham-pager-item:not(.is-active):not(.is-next) a:hover {
    background: #f0f0f1;
}
.roham-theme .roham-pager-item.is-active > span {
    background: var(--ds-color-primary, #ef4056);
    color: #fff;
    font-weight: 700;
}
.roham-theme .roham-pager-item.is-ellipsis > span {
    min-width: 28px;
    color: #81858b;
    font-weight: 700;
    letter-spacing: 1px;
}
.roham-theme .roham-pager-item.is-next a {
    gap: 2px;
    min-width: auto;
    padding: 0 10px;
    border-radius: 999px;
    color: #0c0c0c;
    font-weight: 600;
}
.roham-theme .roham-pager-item.is-next a:hover {
    background: #f0f0f1;
}
.roham-theme .roham-pager-item.is-next i {
    font-size: 18px;
    line-height: 1;
}
.roham-theme .roham-qa-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.roham-theme .roham-qa-item,
.roham-theme .single-product .roham-qa-list > li.roham-qa-item,
.single-product .roham-qa-list > li.roham-qa-item {
    position: relative;
    display: block;
    margin: 0 !important;
    margin-right: 0 !important;
    padding: 16px 0 !important;
    min-height: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #f0f0f1 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit;
    box-shadow: none !important;
}

.roham-theme .roham-qa-item:last-child,
.single-product .roham-qa-list > li.roham-qa-item:last-child {
    border-bottom: 0 !important;
}

.roham-theme .roham-qa-item::before,
.roham-theme .roham-qa-item::after,
.single-product .roham-qa-list > li.roham-qa-item::before,
.single-product .roham-qa-list > li.roham-qa-item::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

.roham-theme .roham-qa-q-text {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.85;
    text-align: right;
}

.roham-theme .roham-qa-answer-link {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #19bfd3;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

.roham-theme .roham-qa-answer-link:hover {
    color: #0ea5b8;
}

.roham-theme .roham-qa-answer-link--foot {
    margin: 10px 0 0;
}

.roham-theme .roham-qa-a {
    margin: 0 0 8px;
    padding: 0;
}

.roham-theme .roham-qa-a-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.roham-theme .roham-qa-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f0f0f1;
    color: #a1a3a8;
    display: grid;
    place-items: center;
    font-size: 14px;
    flex-shrink: 0;
}

.roham-theme .roham-qa-a-name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.roham-theme .roham-qa-a-name {
    font-size: 12px;
    font-weight: 600;
    color: #0c0c0c;
}

.roham-theme .roham-qa-badge {
    display: inline-flex;
    align-items: center;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
}

.roham-theme .roham-qa-badge--buyer {
    background: #e6f7f0;
    color: #00a049;
}

.roham-theme .roham-qa-badge--seller {
    background: #fff3e8;
    color: #f57c00;
}

.roham-theme .roham-qa-a-text {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 500;
    color: #3f4064;
    line-height: 1.85;
    text-align: right;
}

.roham-theme .roham-qa-a-foot {
    display: flex;
    align-items: center;
}

.roham-theme .roham-qa-date {
    font-size: 11px;
    color: #a1a3a8;
    line-height: 1.4;
}

.roham-theme .roham-qa-empty-ans {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 2px;
}

.roham-theme .roham-qa-more {
    margin-top: 4px;
}

.roham-theme .roham-qa-more-btn {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 6px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #19bfd3;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.roham-theme .comment-list { list-style: none; margin: 0; padding: 0; }
.roham-theme .roham-rv-item { padding: 18px 0; border-bottom: 1px solid #f0f0f1; list-style: none; }
.roham-theme .roham-rv-head {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px;
}
.roham-theme .roham-rv-user { display: flex; align-items: center; gap: 8px; min-width: 0; }
.roham-theme .roham-rv-avatar {
    width: 28px; height: 28px; border-radius: 50%;
    background: #f0f0f1; color: #a1a3a8; display: grid; place-items: center; font-size: 14px;
}
.roham-theme .roham-rv-name { font-size: 13px; font-weight: 600; color: #0c0c0c; }
.roham-theme .roham-rv-badge {
    display: inline-flex; padding: 2px 8px; border-radius: 999px;
    background: #00a049; color: #fff; font-size: 11px; font-weight: 700;
}
.roham-theme .roham-rv-date { font-size: 12px; color: #a1a3a8; flex-shrink: 0; }
.roham-theme .roham-rv-title { margin: 0 0 8px; font-size: 14px; font-weight: 700; color: #0c0c0c; }
.roham-theme .roham-rv-text {
    margin: 0 0 8px; font-size: 13px; color: #3f4064; line-height: 1.9; text-align: justify;
}
.roham-theme .roham-rv-more {
    appearance: none; border: 0; background: transparent; color: #19bfd3;
    font-size: 13px; font-weight: 600; cursor: pointer; padding: 0; margin: 0 0 10px;
}
.roham-theme .roham-rv-meta { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0 12px; }
.roham-theme .roham-rv-meta-item {
    display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #81858b;
}
.roham-theme .roham-rv-color {
    width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15);
}
.roham-theme .roham-rv-votes { display: flex; gap: 12px; }
.roham-theme .roham-rv-vote {
    appearance: none; display: inline-flex; align-items: center; gap: 6px;
    padding: 0; border: 0; background: transparent; color: #81858b; font-size: 13px; cursor: pointer;
}

@media (max-width: 991.98px) {
    .roham-theme .roham-ask-modal .modal-dialog.roham-ask-modal-dialog,
    .roham-thanks-dialog {
        max-width: 100%;
        width: 100%;
        height: 100%;
        margin: 0;
    }

    .roham-theme .roham-ask-modal .modal-dialog-centered,
    .roham-thanks-modal .modal-dialog-centered {
        align-items: stretch;
        min-height: 100%;
    }

    .roham-theme .roham-ask-modal-content,
    .roham-thanks-content {
        border-radius: 0;
        max-height: none;
        height: 100%;
        min-height: 100dvh;
        display: flex;
        flex-direction: column;
    }

    .roham-theme .roham-ask-modal-form {
        display: flex;
        flex-direction: column;
        min-height: 0;
        flex: 1;
    }

    .roham-theme .roham-ask-modal-body {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .roham-theme .roham-ask-modal-foot {
        margin-top: auto;
        padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    }

    .roham-thanks-content {
        justify-content: center;
        padding: 40px 24px calc(24px + env(safe-area-inset-bottom, 0px));
    }

    .roham-pdp-qa-toolbar { flex-direction: column; align-items: stretch; }
    .roham-pdp-qa-cta { flex-direction: column; align-items: stretch; }
    .roham-pdp-qa-cta .roham-pdp-aside-btn { width: 100%; }
}

/* ==========================================================================
   Digikala detail bottom sheet — مشخصات و بررسی کالا
   Covers PDP mbar/mtabs; half-open → drag to fullscreen
   ========================================================================== */
.roham-detail-sheet {
    position: fixed;
    inset: 0;
    z-index: 1160; /* above .roham-pdp-mbar (1105) & mtabs */
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
}

.roham-detail-sheet[hidden]:not(.is-open) {
    display: none !important;
}

.roham-detail-sheet.is-open {
    display: flex !important;
    pointer-events: auto;
}

.roham-detail-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 12, 12, .52);
    opacity: 0;
    transition: opacity .28s ease;
    cursor: pointer;
}

.roham-detail-sheet.is-open .roham-detail-sheet-backdrop {
    opacity: 1;
}

.roham-detail-sheet-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 0;
    margin: 0;
    background: #fff;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, .18);
    overflow: hidden;
    will-change: height;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

.roham-detail-sheet.is-full .roham-detail-sheet-panel {
    border-radius: 0;
}

.roham-detail-sheet-grab-wrap {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 16px;
    padding-top: 4px;
    cursor: grab;
    touch-action: none;
    user-select: none;
}

.roham-detail-sheet.is-dragging .roham-detail-sheet-grab-wrap {
    cursor: grabbing;
}

.roham-detail-sheet.is-full .roham-detail-sheet-grab-wrap {
    height: calc(12px + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
}

.roham-detail-sheet-grab {
    width: 36px;
    height: 3px;
    border-radius: 999px;
    background: #e0e0e2;
}

.roham-detail-sheet-head {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 44px 4px;
    touch-action: none;
    user-select: none;
    cursor: grab;
}

.roham-detail-sheet-title {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.35;
    text-align: center;
}

.roham-detail-sheet-close {
    appearance: none;
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #424750;
    display: grid;
    place-items: center;
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
}

.roham-detail-sheet-close:hover,
.roham-detail-sheet-close:active {
    background: #f0f0f1;
}

.roham-detail-sheet-tabs {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    gap: 0;
    padding: 0 12px;
    border-bottom: 1px solid #f0f0f1;
    background: #fff;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.roham-detail-sheet-tabs::-webkit-scrollbar {
    display: none;
}

.roham-detail-sheet-tab {
    appearance: none;
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    padding: 8px 6px 10px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #81858b;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease;
}

.roham-detail-sheet-tab.is-active {
    color: #0c0c0c;
    border-bottom-color: #0c0c0c;
    font-weight: 700;
}

.roham-detail-sheet-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 14px 16px 24px;
    background: #fff;
}

.roham-detail-sheet-pane {
    font-size: 13px;
    line-height: 1.95;
    color: #3f4064;
    text-align: justify;
}

.roham-detail-sheet-pane img {
    max-width: 100%;
    height: auto;
}

.roham-detail-sheet-pane .roham-pdp-specs-block {
    margin-bottom: 20px;
}

.roham-detail-sheet-pane .roham-pdp-specs-group {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
    text-align: right;
}

body.roham-detail-sheet-open,
html.roham-detail-sheet-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

@media (min-width: 992px) {
    .roham-detail-sheet {
        align-items: flex-end;
        padding: 0 16px;
        z-index: 1160;
    }

    .roham-detail-sheet-panel {
        max-width: 760px;
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -12px 48px rgba(0, 0, 0, .2);
    }

    .roham-detail-sheet.is-full .roham-detail-sheet-panel {
        border-radius: 16px 16px 0 0;
    }

    .roham-detail-sheet-tab {
        flex: 1 1 0;
        font-size: 13px;
        padding: 10px 8px 12px;
    }

    .roham-detail-sheet-title {
        font-size: 15px;
    }

    .roham-detail-sheet-body {
        padding: 20px 24px 32px;
    }
}

/* ==========================================================================
   Digikala mobile sticky — low stock ribbon (flush, not floating)
   ========================================================================== */
.roham-pdp-sticky-stock {
    display: none;
}

@media (max-width: 991.98px) {
    .roham-pdp-sticky-stock {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 100%;
        margin: 0;
        padding: 5px 12px;
        border-radius: 0;
        background: linear-gradient(90deg, #2b2c43 0%, #3f4064 50%, #2b2c43 100%);
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.35;
        letter-spacing: -.01em;
        transform: none;
        position: relative;
        z-index: 1;
        box-shadow: none;
    }

    .roham-pdp-sticky-stock i {
        color: #ffc107;
        font-size: 12px;
        animation: roham-stock-pulse 1.6s ease-in-out infinite;
    }

    .roham-pdp-sticky.has-stock .inner {
        margin-top: 0;
        border-top: 0;
    }
}

@keyframes roham-stock-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .72; transform: scale(1.08); }
}

/* ==========================================================================
   Digikala — sellers bottom sheet (فروشنده‌های این کالا)
   ========================================================================== */
.roham-sellers-sheet {
    position: fixed;
    inset: 0;
    z-index: 1090;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
}

.roham-sellers-sheet[hidden] {
    display: none !important;
}

.roham-sellers-sheet.is-open {
    pointer-events: auto;
}

.roham-sellers-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    opacity: 0;
    transition: opacity .28s ease;
    cursor: pointer;
}

.roham-sellers-sheet.is-open .roham-sellers-sheet-backdrop {
    opacity: 1;
}

.roham-sellers-sheet-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 0;
    background: #f0f0f1;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, .14);
    overflow: hidden;
    will-change: height;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

.roham-sellers-sheet-grab-wrap {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    background: #fff;
    cursor: grab;
    touch-action: none;
    user-select: none;
}

.roham-sellers-sheet.is-dragging .roham-sellers-sheet-grab-wrap {
    cursor: grabbing;
}

.roham-sellers-sheet-grab {
    width: 40px;
    height: 4px;
    border-radius: 999px;
    background: #e0e0e2;
}

.roham-sellers-sheet-head {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 12px;
    padding: 4px 52px 14px 16px;
    background: #fff;
    border-bottom: 1px solid #f0f0f1;
    touch-action: none;
    user-select: none;
    cursor: grab;
}

.roham-sellers-sheet-head-txt {
    text-align: right;
}

.roham-sellers-sheet-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.4;
}

.roham-sellers-sheet-sub {
    margin: 4px 0 0;
    font-size: 12px;
    font-weight: 500;
    color: #81858b;
}

.roham-sellers-sheet-close {
    appearance: none;
    position: absolute;
    left: 8px;
    top: 4px;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #424750;
    display: grid;
    place-items: center;
    font-size: 24px;
    cursor: pointer;
}

.roham-sellers-sheet-close:hover {
    background: #f0f0f1;
}

.roham-sellers-sheet-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 12px 12px 24px;
}

.roham-mscard {
    margin-bottom: 12px;
    padding: 14px 14px 12px;
    background: #fff;
    border: 1px solid #e0e0e2;
    border-radius: 12px;
}

.roham-mscard.is-first {
    border-color: #c8ebf1;
    box-shadow: 0 0 0 1px rgba(25, 191, 211, .12);
}

.roham-mscard-label {
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #81858b;
}

.roham-mscard-seller {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 4px;
}

.roham-mscard-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f0f0f1;
    color: #424750;
    font-size: 18px;
    flex-shrink: 0;
}

.roham-mscard-ico.is-plus {
    color: #b12ba5;
    background: #fce8fa;
}

.roham-mscard-ico.is-club {
    color: #f9a825;
    background: #fff8e1;
}

.roham-mscard-seller-body {
    min-width: 0;
    flex: 1;
}

.roham-mscard-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.5;
}

.roham-mscard-name .fa-chevron-left {
    margin-right: auto;
    font-size: 11px;
    color: #a1a3a8;
}

.roham-mscard-fav {
    display: inline-flex;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f0f0f1;
    font-size: 11px;
    font-weight: 600;
    color: #424750;
}

.roham-mscard-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.roham-mscard-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
}

.roham-mscard-badge--sat {
    color: #00a049;
    border: 1px solid #00a049;
    background: #fff;
}

.roham-mscard-badge--sat.is-plain {
    color: #00a049;
    border-color: #00a049;
}

.roham-mscard-badge--perf.is-great {
    color: #fff;
    background: #00a049;
    border: 1px solid #00a049;
}

.roham-mscard-badge--perf.is-good {
    color: #fff;
    background: #4caf50;
    border: 1px solid #4caf50;
}

.roham-mscard-badge--perf.is-ok {
    color: #fff;
    background: #a1a3a8;
    border: 1px solid #a1a3a8;
}

.roham-mscard-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid #f0f0f1;
}

.roham-mscard-row-txt {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    color: #0c0c0c;
    line-height: 1.7;
    padding-top: 6px;
}

.roham-mscard-row--plus .roham-mscard-row-txt {
    color: #b12ba5;
    font-weight: 600;
}

.roham-mscard-ship {
    padding: 12px 0;
    border-top: 1px solid #f0f0f1;
}

.roham-mscard-ship-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.roham-mscard-ship-title {
    flex: 1;
    font-size: 13px;
    font-weight: 700;
    color: #0c0c0c;
}

.roham-mscard-ship-head .fa-chevron-left {
    font-size: 11px;
    color: #a1a3a8;
}

.roham-mscard-ship-list {
    margin: 0;
    padding: 0 0 0 48px;
    list-style: none;
}

.roham-mscard-ship-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 12px;
    color: #3f4064;
    line-height: 1.6;
}

.roham-mscard-ship-list li:last-child {
    margin-bottom: 0;
}

.roham-mscard-ship-list em {
    font-style: normal;
    color: #81858b;
}

.roham-mscard-ship-list i {
    color: #ef4056;
    font-size: 14px;
    margin-top: 2px;
}

.roham-mscard-ship-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 5px;
    flex-shrink: 0;
}

.roham-mscard-ship-dot.is-red { background: #ef4056; }
.roham-mscard-ship-dot.is-blue { background: #19bfd3; }

.roham-mscard-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid #f0f0f1;
}

.roham-mscard-price {
    text-align: left;
    min-width: 0;
}

.roham-mscard-was {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-bottom: 2px;
}

.roham-mscard-was del {
    font-size: 12px;
    color: #c0c2c5;
}

.roham-mscard-off {
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    border-radius: 999px;
    background: #ef4056;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.roham-mscard-now {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px;
}

.roham-mscard-now strong {
    font-size: 18px;
    font-weight: 700;
    color: #0c0c0c;
    letter-spacing: -0.02em;
}

.roham-mscard-now span {
    font-size: 11px;
    font-weight: 500;
    color: #81858b;
}

.roham-mscard-cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 8px;
    background: #ef4056 !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
}

.roham-mscard-cta:hover {
    background: #e02746 !important;
    color: #fff !important;
}

body.roham-sellers-sheet-open,
html.roham-sellers-sheet-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

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

