
    /* Base Variables aligned with Mobile App (AppColors) */
    .product-page.svelte-1j9h9mx {
        --app-primary: var(--c-primary, #113511);
        --app-bg: #ffffff;
        --app-discount-bg: rgba(17, 53, 17, 0.05);
        --app-error: #ff6b6b;
        --app-favorite: #e02e4c;
        --app-text: #1a1a1a;
        --app-text-sec: #666666;
        --app-success: #2e7d32; /* Close to app's green */
    }

    .product-page.svelte-1j9h9mx {
        min-height: 100vh;
        background: var(--app-bg);
        position: relative;
        font-family: inherit;
    }

    /* Layout Setup */
    .top-nav.svelte-1j9h9mx {
        padding: 12px 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .icon-btn.svelte-1j9h9mx {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: none;
        background: transparent;
        color: var(--app-primary);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        padding: 0;
        transition: background 0.2s;
    }

    .icon-btn.svelte-1j9h9mx:hover {
        background: rgba(0, 0, 0, 0.05);
    }

    .content-container.svelte-1j9h9mx {
        max-width: 800px;
        margin: 0 auto;
        padding: 0;
    }

    /* Image Wrapper */
    .image-wrapper.svelte-1j9h9mx {
        height: 380px;
        margin: 16px 16px 8px;
        position: relative;
        background: #fff;
    }

    @media (max-width: 640px) {
        .image-wrapper.svelte-1j9h9mx {
            height: 280px;
        }
    }

    .image-center.svelte-1j9h9mx {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .product-img.svelte-1j9h9mx {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

    .discount-badge.svelte-1j9h9mx {
        position: absolute;
        top: 0;
        background: var(--app-error);
        color: white;
        padding: 8px 12px;
        font-size: 14px;
        font-weight: 900;
        z-index: 2;
    }

    .discount-badge.left.svelte-1j9h9mx {
        left: 0;
        border-radius: 16px 0 20px 0;
    }

    .discount-badge.right.svelte-1j9h9mx {
        right: 0;
        border-radius: 0 16px 0 20px;
    }

    /* Info Section */
    .info-section.svelte-1j9h9mx {
        padding: 16px;
    }

    .header-row.svelte-1j9h9mx {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
    }

    .product-title.svelte-1j9h9mx {
        font-size: 24px;
        font-weight: 700;
        color: var(--app-text);
        line-height: 1.3;
        margin: 0;
        flex: 1;
    }

    .favorite-btn.svelte-1j9h9mx {
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 4px;
        color: var(--app-text-sec);
        transition:
            color 0.2s,
            transform 0.2s;
    }

    .favorite-btn.active.svelte-1j9h9mx {
        color: var(--app-favorite);
    }

    .favorite-btn.svelte-1j9h9mx:active {
        transform: scale(0.9);
    }

    .price-row.svelte-1j9h9mx {
        display: flex;
        align-items: center;
        margin-top: 12px;
        flex-wrap: wrap;
        gap: 12px;
    }

    .price-tag.svelte-1j9h9mx {
        display: flex;
        align-items: flex-start;
        border-radius: 4px;
    }

    .price-tag.has-discount.svelte-1j9h9mx {
        padding: 4px 10px;
        background: var(--app-discount-bg);
    }

    .price-whole.svelte-1j9h9mx {
        font-size: 28px;
        font-weight: 800;
        color: var(--app-primary);
        line-height: 1;
    }

    .price-decimal.svelte-1j9h9mx {
        font-size: 16px;
        font-weight: 600;
        color: var(--app-primary);
        margin-top: 2px;
    }

    .price-currency.svelte-1j9h9mx {
        font-size: 14px;
        font-weight: 700;
        color: var(--app-primary);
        margin-top: 6px;
        margin-inline-start: 4px;
    }

    .old-price.svelte-1j9h9mx {
        font-size: 16px;
        font-weight: 600;
        color: var(--app-text-sec);
        text-decoration: line-through;
        text-decoration-thickness: 2px;
        text-decoration-color: var(--app-error);
        margin-top: 4px;
    }

    .spacer.svelte-1j9h9mx {
        flex: 1;
        min-width: 16px;
    }

    .stock-badge.svelte-1j9h9mx {
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 11px;
        font-weight: 700;
        color: white;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .stock-badge.in-stock.svelte-1j9h9mx {
        background: var(--app-success, #2e7d32);
    }

    .stock-badge.out-of-stock.svelte-1j9h9mx {
        background: var(--app-error);
    }

    /* Details Section */
    .section-divider.svelte-1j9h9mx {
        height: 8px;
        background: #f5f5f5;
        width: 100%;
        margin: 8px 0;
    }

    .desc-section.svelte-1j9h9mx {
        padding: 24px 16px;
    }

    .section-title.svelte-1j9h9mx {
        font-size: 18px;
        font-weight: 700;
        color: var(--app-text);
        margin: 0 0 12px 0;
    }

    .desc-text.svelte-1j9h9mx {
        font-size: 15px;
        line-height: 1.6;
        color: var(--app-text-sec);
        margin: 0 0 20px 0;
        white-space: pre-wrap;
    }

    .meta-list.svelte-1j9h9mx {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
        font-size: 14px;
        color: var(--app-text-sec);
    }

    .meta-list.svelte-1j9h9mx strong:where(.svelte-1j9h9mx) {
        color: var(--app-text);
        font-weight: 600;
    }

    .bottom-buffer.svelte-1j9h9mx {
        height: 100px;
    }

    /* Fixed Bottom Bar */
    .bottom-bar.svelte-1j9h9mx {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: white;
        box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.08);
        z-index: 50;
    }

    .bottom-bar-content.svelte-1j9h9mx {
        max-width: 800px;
        margin: 0 auto;
        padding: 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }

    .total-summary.svelte-1j9h9mx {
        display: flex;
        flex-direction: column;
    }

    .total-label.svelte-1j9h9mx {
        font-size: 12px;
        color: var(--app-text-sec);
        margin-bottom: 2px;
    }

    .total-price.svelte-1j9h9mx {
        display: flex;
        align-items: flex-start;
    }

    .total-whole.svelte-1j9h9mx {
        font-size: 22px;
        font-weight: 800;
        color: var(--app-primary);
        line-height: 1;
    }

    .total-decimal.svelte-1j9h9mx {
        font-size: 13px;
        font-weight: 600;
        color: var(--app-primary);
        margin-top: 1px;
    }

    .total-currency.svelte-1j9h9mx {
        font-size: 12px;
        font-weight: 500;
        color: var(--app-text-sec);
        margin-top: 5px;
        margin-inline-start: 4px;
    }

    .action-controls.svelte-1j9h9mx {
        display: flex;
    }

    .add-btn.svelte-1j9h9mx {
        background: var(--app-primary);
        color: white;
        border: none;
        border-radius: 12px;
        padding: 14px 24px;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        transition: opacity 0.2s;
    }

    .add-btn.svelte-1j9h9mx:active {
        opacity: 0.9;
    }

    .add-btn.disabled.svelte-1j9h9mx {
        background: #e0e0e0;
        color: #888;
        cursor: not-allowed;
    }

    .basket-icon.svelte-1j9h9mx {
        margin-right: 4px;
    }

    [dir="rtl"].svelte-1j9h9mx .basket-icon:where(.svelte-1j9h9mx) {
        margin-right: 0;
        margin-left: 4px;
    }

    .qty-counter.svelte-1j9h9mx {
        display: flex;
        align-items: center;
        background: var(--app-primary);
        border-radius: 12px;
        height: 52px;
        overflow: hidden;
    }

    .qty-btn.svelte-1j9h9mx {
        width: 48px;
        height: 100%;
        border: none;
        background: transparent;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .qty-btn.svelte-1j9h9mx:active {
        background: rgba(0, 0, 0, 0.1);
    }

    .qty-val.svelte-1j9h9mx {
        color: white;
        font-size: 18px;
        font-weight: 700;
        width: 40px;
        text-align: center;
    }

    /* States */
    .loading-state.svelte-1j9h9mx,
    .error-state.svelte-1j9h9mx {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 70vh;
        gap: 16px;
        padding: 24px;
    }

    .skeleton-image.svelte-1j9h9mx {
        width: 100%;
        max-width: 400px;
        height: 300px;
        background: #f0f0f0;
        border-radius: 16px;
        animation: svelte-1j9h9mx-pulse 1.5s infinite ease-in-out;
    }

    .skeleton-text.svelte-1j9h9mx {
        background: #f0f0f0;
        height: 24px;
        border-radius: 8px;
        animation: svelte-1j9h9mx-pulse 1.5s infinite ease-in-out;
    }

    .skeleton-text.title.svelte-1j9h9mx {
        width: 60%;
        height: 32px;
    }
    .skeleton-text.price.svelte-1j9h9mx {
        width: 30%;
        height: 40px;
    }
    .skeleton-text.desc.svelte-1j9h9mx {
        width: 90%;
        height: 100px;
    }

    @keyframes svelte-1j9h9mx-pulse {
        0%,
        100% {
            opacity: 1;
        }
        50% {
            opacity: 0.5;
        }
    }

    .error-icon.svelte-1j9h9mx {
        width: 64px;
        height: 64px;
        color: var(--app-error);
    }

    .error-text.svelte-1j9h9mx {
        font-size: 20px;
        font-weight: 700;
        margin: 0;
        color: var(--app-text);
    }

    .error-subtext.svelte-1j9h9mx {
        font-size: 16px;
        color: var(--app-text-sec);
        margin: 0;
    }

    .shop-btn.svelte-1j9h9mx {
        margin-top: 16px;
        background: var(--app-primary);
        color: white;
        padding: 12px 32px;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 600;
    }
