/*
 * Swiftech Store - product details page.
 *
 * Plain stylesheet rather than Vite: node_modules is not installed on this
 * server, so rebuilding the bundles to restyle one page would put every other
 * page at risk. Loaded after the compiled CSS, and everything is scoped under
 * .product-details-wrap so no other page is affected.
 */

.product-details-wrap {
    --p-red: var(--color-primary, #f51e46);
    --p-red-dark: var(--color-primary-darken-10, #d81639);
    --p-red-soft: rgba(245, 30, 70, 0.08);
    --p-ink: #0f1419;
    --p-ink-2: #4a5462;
    --p-ink-3: #6b7280;
    --p-muted: #7b8694;
    --p-line: #e6e9ed;
    --p-line-strong: #cdd3da;
    --p-surface: #fff;
    --p-soft: #f7f8fa;
    --p-green: #0f8a52;
    --p-green-soft: rgba(15, 138, 82, 0.09);
    --p-radius: 14px;
    --p-radius-sm: 10px;

    padding-bottom: 8px;
}

.product-details-wrap *,
.product-details-wrap *::before,
.product-details-wrap *::after { box-sizing: border-box; }

/* A comfortable reading measure instead of the full 1770px shell. */
.product-details-wrap > .container {
    max-width: 1360px;
}

/*======================= Breadcrumb =======================*/

.breadcrumb {
    padding: 14px 0 2px;
    font-size: 12.5px;
}

.breadcrumb li,
.breadcrumb li a { color: var(--sw-muted, #7b8694); }
.breadcrumb li a:hover { color: var(--color-primary, #f51e46); }
.breadcrumb li.active { color: #0f1419; font-weight: 500; }

/*======================= Layout =======================*/

.product-details-wrap .product-details-top {
    margin-bottom: 30px;
}

/* Was a rigid 550px column; now a proportional one that closes the gap. */
.product-details-wrap .product-gallery {
    width: 46%;
    min-width: 0;
    flex: 0 0 46%;
    top: 84px;
}

.product-details-wrap .product-details-info {
    padding: 0 0 0 38px;
    flex: 1 1 auto;
    min-width: 0;
}

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

.product-details-wrap .product-gallery-preview-wrap {
    padding: 14px;
    background: var(--p-surface);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius);
}

.product-details-wrap .gallery-preview-item img {
    width: 100%;
    height: auto;
    max-height: 520px;
    /* contain: never stretch, never crop. */
    object-fit: contain;
}

.product-details-wrap .product-gallery-thumbnail {
    margin-top: 12px;
}

.product-details-wrap .gallery-thumbnail-item {
    padding: 6px;
    background: var(--p-surface);
    border: 1.5px solid var(--p-line);
    border-radius: var(--p-radius-sm);
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.product-details-wrap .gallery-thumbnail-item:hover {
    border-color: var(--p-line-strong);
}

.product-details-wrap .swiper-slide-thumb-active .gallery-thumbnail-item {
    border-color: var(--p-red);
    box-shadow: 0 0 0 3px var(--p-red-soft);
}

.product-details-wrap .gallery-view-icon {
    border-radius: 8px;
}

/*======================= Info: heading group =======================*/

.product-details-wrap .details-info-top {
    padding-bottom: 14px;
}

.product-details-wrap .product-name {
    font-size: 26px;
    line-height: 1.28;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--p-ink);
    margin-bottom: 10px;
}

.product-details-wrap .product-rating {
    margin-bottom: 10px;
}

.product-details-wrap .product-rating .rating-count,
.product-details-wrap .product-rating .reviews {
    font-size: 13px;
    color: var(--p-ink-3);
}

/* Stock as a compact pill rather than a bare line of text. */
.product-details-wrap .availability {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    padding: 5px 11px;
    font-size: 13px;
    font-weight: 550;
    border-radius: 999px;
}

.product-details-wrap .availability::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.product-details-wrap .availability.in-stock {
    color: var(--p-green);
    background: var(--p-green-soft);
}

.product-details-wrap .availability.out-of-stock {
    color: var(--p-red);
    background: var(--p-red-soft);
}

.product-details-wrap .brief-description {
    max-width: 60ch;
    font-size: 14px;
    line-height: 1.6;
    color: var(--p-ink-2);
}

.product-details-wrap .brief-description p:last-child { margin-bottom: 0; }

/*======================= Price =======================*/

.product-details-wrap .details-info-middle {
    padding: 18px 0 20px;
    border-top: 1px solid var(--p-line);
    border-bottom: 1px solid var(--p-line);
}

.product-details-wrap .product-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 16px;
}

.product-details-wrap .product-price .special-price {
    order: 1;
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--p-red);
}

.product-details-wrap .product-price .previous-price {
    order: 2;
    font-size: 16px;
    font-weight: 500;
    color: var(--p-muted);
}

/* With no special price the regular price is the headline. */
.product-details-wrap .product-price .previous-price:first-child {
    order: 0;
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--p-ink);
    text-decoration: none;
}

.product-details-wrap .sw-pdp__save {
    order: 3;
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    font-size: 12.5px;
    font-weight: 650;
    color: var(--p-red);
    background: var(--p-red-soft);
    border-radius: 999px;
}

/*======================= Variations / options =======================*/

.product-details-wrap .product-variants {
    margin-bottom: 16px;
}

.product-details-wrap .product-variants label {
    font-size: 13px;
    font-weight: 600;
    color: var(--p-ink);
}

/*======================= Quantity + Add to cart =======================*/

.product-details-wrap .details-info-middle-actions {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 12px;
}

.product-details-wrap .number-picker-lg {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.product-details-wrap .number-picker-lg > label {
    font-size: 13px;
    font-weight: 600;
    color: var(--p-ink);
}

/*
 * The theme positions +/- absolutely inside the input
 * (.product-details-info .number-picker-lg .input-group-quantity .btn-wrapper
 * .btn-number{position:absolute}, and .ltr-prefixed variants at 0,6,0). These
 * overrides carry .ltr/.rtl so they outrank those rather than tie on order.
 */
.product-details-wrap .input-group-quantity {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 50px;
    padding: 4px;
    background: var(--p-soft);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-sm);
}

.ltr .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .input-quantity,
.rtl .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .input-quantity,
.product-details-wrap .input-group-quantity .input-quantity {
    order: 2;
    width: 48px;
    height: 100%;
    padding: 0;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: var(--p-ink);
    background: none;
    border: 0;
    box-shadow: none;
}

/* Lets the two buttons become flex siblings of the input. */
.ltr .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .btn-wrapper,
.rtl .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .btn-wrapper,
.product-details-wrap .input-group-quantity .btn-wrapper {
    display: contents;
    position: static;
}

.ltr .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .btn-wrapper .btn-number,
.rtl .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .btn-wrapper .btn-number,
.product-details-wrap .input-group-quantity .btn-wrapper .btn-number {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
    color: var(--p-ink-2);
    background: var(--p-surface);
    border: 1px solid var(--p-line);
    border-radius: 8px;
    transition: border-color 0.13s ease, color 0.13s ease;
}

.ltr .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .btn-wrapper .btn-minus,
.rtl .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .btn-wrapper .btn-minus,
.product-details-wrap .input-group-quantity .btn-wrapper .btn-minus {
    order: 1;
    top: auto;
    height: 36px;
    border-radius: 8px;
}

.ltr .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .btn-wrapper .btn-plus,
.rtl .product-details-wrap .product-details-info .number-picker-lg .input-group-quantity .btn-wrapper .btn-plus,
.product-details-wrap .input-group-quantity .btn-wrapper .btn-plus {
    order: 3;
    top: auto;
    height: 36px;
    border-radius: 8px;
}

.product-details-wrap .input-group-quantity .btn-number:hover:not(:disabled) {
    color: var(--p-red);
    border-color: var(--p-red);
}

.product-details-wrap .input-group-quantity .btn-number:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.product-details-wrap .input-group-quantity .btn-number:focus-visible,
.product-details-wrap .input-quantity:focus-visible {
    outline: 2px solid var(--p-red);
    outline-offset: 1px;
}

.product-details-wrap .btn-add-to-cart {
    flex: 1 1 240px;
    min-height: 50px;
    padding: 8px 28px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: var(--p-red);
    border: 0;
    border-radius: var(--p-radius-sm);
    transition: background-color 0.15s ease, transform 0.06s ease, box-shadow 0.15s ease;
}

.product-details-wrap .btn-add-to-cart:hover:not(:disabled) {
    background: var(--p-red-dark);
    box-shadow: 0 8px 20px -10px rgba(245, 30, 70, 0.7);
}

.product-details-wrap .btn-add-to-cart:active:not(:disabled) { transform: translateY(1px); }

.product-details-wrap .btn-add-to-cart:focus-visible {
    outline: 2px solid var(--p-ink);
    outline-offset: 2px;
}

.product-details-wrap .btn-add-to-cart:disabled {
    background: #c9ced5;
    cursor: not-allowed;
    box-shadow: none;
}

/*======================= WhatsApp / Viber =======================*/

.sw-contact {
    margin-top: 18px;
    padding: 14px 15px;
    background: var(--p-soft);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius);
}

.sw-contact__lead {
    margin: 0 0 11px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sw-contact__title {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--p-ink);
}

.sw-contact__sub {
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--p-ink-3);
}

.sw-contact__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

/* Deliberately lighter than Add to Cart: outlined, not filled. */
.sw-contact__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 14px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    background: var(--p-surface);
    border: 1.5px solid var(--p-line-strong);
    border-radius: var(--p-radius-sm);
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.sw-contact__btn svg { flex: none; }

.sw-contact__btn--whatsapp { color: #1da851; }
.sw-contact__btn--whatsapp:hover,
.sw-contact__btn--whatsapp:focus-visible {
    color: #128c3e;
    border-color: #1da851;
    background: rgba(29, 168, 81, 0.07);
}

.sw-contact__btn--viber { color: #7360f2; }
.sw-contact__btn--viber:hover,
.sw-contact__btn--viber:focus-visible {
    color: #5b48d6;
    border-color: #7360f2;
    background: rgba(115, 96, 242, 0.07);
}

.sw-contact__btn:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/*======================= Wishlist / Compare =======================*/

.product-details-wrap .sw-pdp__secondary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.product-details-wrap .sw-pdp__secondary .btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 13px;
    font-size: 13px;
    font-weight: 550;
    color: var(--p-ink-2);
    background: none;
    border: 1px solid var(--p-line);
    border-radius: 999px;
    transition: color 0.13s ease, border-color 0.13s ease, background-color 0.13s ease;
}

.product-details-wrap .sw-pdp__secondary .btn svg {
    width: 17px;
    height: 17px;
}

.product-details-wrap .sw-pdp__secondary .btn:hover,
.product-details-wrap .sw-pdp__secondary .btn.added {
    color: var(--p-red);
    border-color: var(--p-red);
    background: var(--p-red-soft);
}

.product-details-wrap .sw-pdp__secondary .btn.added svg path[fill="#292D32"] { fill: currentColor; }
.product-details-wrap .sw-pdp__secondary .btn svg path[stroke="#292D32"] { stroke: currentColor; }

.product-details-wrap .sw-pdp__secondary .btn:focus-visible {
    outline: 2px solid var(--p-red);
    outline-offset: 2px;
}

/*======================= Trust panel =======================*/

.sw-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.sw-trust__item {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px 12px;
    background: var(--p-surface);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-sm);
}

.sw-trust__icon {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--p-red);
    background: var(--p-red-soft);
    border-radius: 8px;
}

.sw-trust__text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.sw-trust__text strong {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--p-ink);
}

.sw-trust__text span {
    font-size: 11.5px;
    line-height: 1.4;
    color: var(--p-ink-3);
    overflow-wrap: anywhere;
}

/*======================= Meta + share =======================*/

.product-details-wrap .details-info-bottom {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--p-line);
}

.product-details-wrap .additional-info {
    margin: 0 0 12px;
}

.product-details-wrap .additional-info li {
    font-size: 13px;
    color: var(--p-ink-2);
}

.product-details-wrap .additional-info label {
    font-weight: 600;
    color: var(--p-ink);
}

.product-details-wrap .additional-info a { color: var(--p-ink-2); }
.product-details-wrap .additional-info a:hover { color: var(--p-red); }

/*======================= Tabs =======================*/

.product-details-wrap .product-details-bottom {
    margin-top: 6px;
}

.product-details-wrap .product-details-tab .nav-tabs {
    gap: 4px;
    border-bottom: 1px solid var(--p-line);
}

.product-details-wrap .product-details-tab .nav-tabs .nav-link {
    padding: 11px 4px;
    margin: 0 14px 0 0;
    font-size: 14.5px;
    font-weight: 550;
    color: var(--p-ink-3);
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.product-details-wrap .product-details-tab .nav-tabs .nav-link:hover { color: var(--p-ink); }

.product-details-wrap .product-details-tab .nav-tabs .nav-link.active {
    color: var(--p-ink);
    border-bottom-color: var(--p-red);
}

.product-details-wrap .product-details-tab .nav-tabs .nav-link:focus-visible {
    outline: 2px solid var(--p-red);
    outline-offset: -2px;
}

.product-details-wrap .product-details-tab-overflow hr { display: none; }

.product-details-wrap .tab-content { padding-top: 20px; }

/*======================= Description typography =======================*/

.product-details-wrap .tab-content .tab-pane {
    /* Long paragraphs should not run the full desktop width. */
    max-width: 78ch;
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--p-ink-2);
}

.product-details-wrap .tab-content h2 {
    margin: 26px 0 10px;
    font-size: 20px;
    font-weight: 600;
    color: var(--p-ink);
}

.product-details-wrap .tab-content h3 {
    margin: 22px 0 8px;
    font-size: 16.5px;
    font-weight: 600;
    color: var(--p-ink);
}

.product-details-wrap .tab-content h2:first-child,
.product-details-wrap .tab-content h3:first-child { margin-top: 0; }

.product-details-wrap .tab-content p { margin: 0 0 14px; }

.product-details-wrap .tab-content ul,
.product-details-wrap .tab-content ol { margin: 0 0 14px; padding-left: 22px; }

.product-details-wrap .tab-content li { margin-bottom: 6px; }

.product-details-wrap .tab-content a { color: var(--p-red); }
.product-details-wrap .tab-content a:hover { text-decoration: underline; }

.product-details-wrap .tab-content strong { color: var(--p-ink); font-weight: 600; }

.product-details-wrap .tab-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--p-radius-sm);
}

.product-details-wrap .tab-content table {
    width: 100%;
    margin-bottom: 16px;
    border-collapse: collapse;
    font-size: 13.5px;
}

.product-details-wrap .tab-content th,
.product-details-wrap .tab-content td {
    padding: 9px 12px;
    border: 1px solid var(--p-line);
    text-align: left;
}

.product-details-wrap .tab-content th {
    background: var(--p-soft);
    font-weight: 600;
    color: var(--p-ink);
}

/* Wide tables scroll inside themselves rather than the page. */
.product-details-wrap .tab-content .table-responsive,
.product-details-wrap .tab-content figure.table { overflow-x: auto; }

/* Responsive 16:9 embeds, whatever markup the editor produced. */
.product-details-wrap .tab-content iframe,
.product-details-wrap .tab-content video {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    margin: 0 0 16px;
    border: 0;
    border-radius: var(--p-radius-sm);
}

.product-details-wrap .tab-content figure {
    max-width: 100%;
    margin: 0 0 16px;
}

/*======================= Reviews =======================*/

.product-details-wrap #reviews .review-item,
.product-details-wrap #reviews .single-review {
    padding: 16px 0;
    border-bottom: 1px solid var(--p-line);
}

.product-details-wrap .empty-review,
.product-details-wrap .no-review {
    padding: 26px 0;
    text-align: center;
    color: var(--p-ink-3);
}

/*======================= Related products =======================*/

.product-details-wrap .landscape-products-wrap {
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid var(--p-line);
}

.product-details-wrap .landscape-products-wrap .section-title {
    font-size: 19px;
    font-weight: 600;
    color: var(--p-ink);
}

/*======================= Mobile sticky purchase bar =======================*/

.sw-buybar {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    align-items: center;
    gap: 12px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: var(--p-surface);
    border-top: 1px solid var(--p-line);
    box-shadow: 0 -6px 20px -12px rgba(16, 24, 40, 0.3);
}

.sw-buybar__price {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.2;
}

.sw-buybar__price .amount {
    font-size: 16px;
    font-weight: 700;
    color: var(--p-red);
    white-space: nowrap;
}

.sw-buybar__price .was {
    font-size: 11.5px;
    color: var(--p-muted);
    text-decoration: line-through;
}

.sw-buybar__btn {
    flex: 1 1 auto;
    min-height: 46px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: var(--p-red);
    border: 0;
    border-radius: var(--p-radius-sm);
}

.sw-buybar__btn:disabled { background: #c9ced5; }

/*======================= Responsive =======================*/

@media (max-width: 1199px) {
    .product-details-wrap .product-gallery { width: 44%; flex-basis: 44%; }
    .product-details-wrap .product-details-info { padding-left: 28px; }
    .product-details-wrap .product-name { font-size: 23px; }
    .product-details-wrap .product-price .special-price,
    .product-details-wrap .product-price .previous-price:first-child { font-size: 27px; }
}

@media (max-width: 991px) {
    .product-details-wrap .product-gallery {
        width: 100%;
        flex-basis: auto;
        position: static !important;
    }

    .product-details-wrap .product-details-info { padding: 22px 0 0; }
    .product-details-wrap .gallery-preview-item img { max-height: 380px; }
    .sw-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .product-details-wrap > .container { padding-left: 15px; padding-right: 15px; }
    .product-details-wrap .product-name { font-size: 20px; }
    .product-details-wrap .product-price .special-price,
    .product-details-wrap .product-price .previous-price:first-child { font-size: 25px; }

    .product-details-wrap .details-info-middle-actions { gap: 10px; }
    .product-details-wrap .number-picker-lg { width: 100%; justify-content: space-between; }
    .product-details-wrap .btn-add-to-cart { flex: 1 1 100%; }

    .sw-trust { grid-template-columns: minmax(0, 1fr); }
    .product-details-wrap .tab-content .tab-pane { max-width: 100%; font-size: 14px; }

    /* Sticky bar on touch layouts only. */
    .sw-buybar { display: flex; }
    .product-details-wrap { padding-bottom: 84px; }
}

@media (max-width: 400px) {
    .sw-contact__actions { grid-template-columns: minmax(0, 1fr); }
    .product-details-wrap .product-name { font-size: 18.5px; }
}

/*======================================================================
  Specificity fixes
  The theme carries a few .ltr/.rtl-prefixed rules at 0,3,0 that would
  otherwise outrank the layout above and reintroduce the old offsets.
======================================================================*/

/* Was margin-left:20px, which fought the flex gap on the actions row. */
.ltr .product-details-wrap .product-details-info .btn-add-to-cart,
.rtl .product-details-wrap .product-details-info .btn-add-to-cart {
    margin-left: 0;
    margin-right: 0;
}

/* Was margin:0 0 -6px -12px, which pulled the meta list out of alignment. */
.ltr .product-details-wrap .product-details-info .additional-info,
.rtl .product-details-wrap .product-details-info .additional-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0 0 12px;
    padding: 0;
}

.ltr .product-details-wrap .product-details-info .additional-info li,
.rtl .product-details-wrap .product-details-info .additional-info li {
    margin: 0;
    padding: 0;
}

/* Price: keep the redesigned scale ahead of the theme's 24px/red rules. */
.ltr .product-details-wrap .product-details-info .product-price .special-price,
.rtl .product-details-wrap .product-details-info .product-price .special-price {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: var(--p-red);
    white-space: normal;
    overflow: visible;
}

.ltr .product-details-wrap .product-details-info .product-price .special-price + .previous-price,
.rtl .product-details-wrap .product-details-info .product-price .special-price + .previous-price {
    margin-left: 0;
    font-size: 16px;
    font-weight: 500;
    color: var(--p-muted);
    text-decoration: line-through;
}

.ltr .product-details-wrap .product-details-info .product-price .previous-price:first-child,
.rtl .product-details-wrap .product-details-info .product-price .previous-price:first-child {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: var(--p-ink);
    text-decoration: none;
}

.product-details-wrap .product-details-info .product-price {
    align-items: baseline;
}

@media (max-width: 767px) {
    .ltr .product-details-wrap .product-details-info .product-price .special-price,
    .rtl .product-details-wrap .product-details-info .product-price .special-price,
    .ltr .product-details-wrap .product-details-info .product-price .previous-price:first-child,
    .rtl .product-details-wrap .product-details-info .product-price .previous-price:first-child {
        font-size: 25px;
    }
}

/*======================================================================
  DARK THEME (appended) — every rule below is gated behind
  [data-theme="dark"]; light mode is untouched by construction. The page
  is token-driven, so redefining the --p-* tokens under the gate carries
  the whole PDP; the handful of raw hexes outside the tokens are gated
  individually below. Brand red/green tokens and the WhatsApp/Viber
  brand button colors are deliberately left unchanged.
======================================================================*/

[data-theme="dark"] .product-details-wrap {
    --p-ink: #e8ebef;
    --p-ink-2: #a6adb8;
    --p-ink-3: #8a919c;
    --p-muted: #98a2ae;
    --p-line: #2a303a;
    --p-line-strong: #3b424e;
    --p-surface: #181c23;
    --p-soft: #1f242c;
}

/* Breadcrumb: hardcoded active color, and a hardcoded light fallback
   inside var(--sw-muted, ...) on the li/a rule. */
[data-theme="dark"] .breadcrumb li,
[data-theme="dark"] .breadcrumb li a { color: var(--sw-muted, #98a2ae); }
[data-theme="dark"] .breadcrumb li.active { color: #e8ebef; }

/* Disabled purchase buttons: raw #c9ced5 in the light rules. */
[data-theme="dark"] .product-details-wrap .btn-add-to-cart:disabled {
    background: #262a31;
    color: var(--p-muted, #98a2ae);
}

[data-theme="dark"] .sw-buybar__btn:disabled {
    background: #262a31;
    color: var(--p-muted, #98a2ae);
}

/* Catalog photos have baked white backgrounds, so the two photo wells
   (main preview frame and thumbnail chips, both --p-surface in light
   mode) stay pinned to a light plate instead of following the token. */
[data-theme="dark"] .product-details-wrap .product-gallery-preview-wrap {
    background: #f5f6f8;
}

[data-theme="dark"] .product-details-wrap .gallery-thumbnail-item {
    background: #f5f6f8;
}
