/* Product Theme Design System — base tokens */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700&display=swap');

.ppt-theme,
.ppt-theme .shop-product-page {
    --ppt-primary: #f97316;
    --ppt-secondary: #0f172a;
    --ppt-accent: #ea580c;
    --ppt-success: #16a34a;
    --ppt-danger: #dc2626;
    --ppt-warning: #d97706;
    --ppt-bg: #f3f5f9;
    --ppt-card: #ffffff;
    --ppt-border: #eef2f6;
    --ppt-text: #0f172a;
    --ppt-muted: #64748b;
    --ppt-radius-btn: 16px;
    --ppt-radius-card: 22px;
    --ppt-radius-image: 20px;
    --ppt-radius-input: 14px;
    --ppt-radius-tag: 50px;
    --ppt-shadow-sm: 0 4px 14px rgba(0, 0, 0, .05);
    --ppt-shadow-md: 0 10px 30px rgba(0, 0, 0, .08);
    --ppt-shadow-lg: 0 20px 60px rgba(0, 0, 0, .12);
    --ppt-font: 'Vazirmatn', Tahoma, sans-serif;
    --ppt-btn-h: 56px;
    font-family: var(--ppt-font);
}

.ppt-theme .shop-product-hero,
.ppt-theme .shop-product-section,
.ppt-theme .shop-product-buybox {
    font-family: var(--ppt-font);
}

.ppt-theme .shop-product-hero {
    background: var(--ppt-card);
    border-color: var(--ppt-border);
    box-shadow: var(--ppt-shadow-sm);
    border-radius: var(--ppt-radius-card);
}

.ppt-theme .shop-product-buybox {
    border-top-color: var(--ppt-accent);
    border-radius: var(--ppt-radius-card);
    box-shadow: var(--ppt-shadow-sm);
}

.ppt-theme .shop-product-buybox__btn {
    min-height: var(--ppt-btn-h);
    border-radius: var(--ppt-radius-btn);
    background: linear-gradient(180deg, color-mix(in srgb, var(--ppt-primary) 88%, #fff), var(--ppt-primary));
    transition: transform .25s ease, box-shadow .25s ease;
}

.ppt-theme .shop-product-buybox__btn:hover {
    transform: scale(1.02);
    box-shadow: var(--ppt-shadow-md);
}

.ppt-theme .shop-product-buybox__btn:active {
    transform: scale(.98);
}

.ppt-theme .shop-product-buybox__now {
    color: var(--ppt-accent);
}

.ppt-theme .pp-variant-value.is-selected {
    border-color: var(--ppt-primary);
    background: color-mix(in srgb, var(--ppt-primary) 12%, #fff);
    color: var(--ppt-accent);
}

.ppt-theme .shop-product-tabs__nav button.is-active,
.ppt-theme .shop-product-tabs__nav button:hover {
    border-color: color-mix(in srgb, var(--ppt-primary) 40%, #fff);
    color: var(--ppt-accent);
    background: color-mix(in srgb, var(--ppt-primary) 8%, #fff);
}

.ppt-theme .shop-specs-table th {
    font-family: var(--ppt-font);
}

.ppt-theme .shop-specs-table td {
    font-family: var(--ppt-font);
}

.ppt-theme.ppt-theme--dark-luxury,
.ppt-theme.ppt-theme--dark-luxury body.site-physical-product {
    --ppt-bg: #0b0f17;
    --ppt-card: #151b28;
    --ppt-border: #243044;
    --ppt-text: #f8fafc;
    --ppt-muted: #94a3b8;
    background: var(--ppt-bg);
    color: var(--ppt-text);
}

.ppt-theme.ppt-theme--dark-luxury .shop-product-hero,
.ppt-theme.ppt-theme--dark-luxury .shop-product-section,
.ppt-theme.ppt-theme--dark-luxury .shop-product-buybox,
.ppt-theme.ppt-theme--dark-luxury .shop-product-hero__variants {
    background: var(--ppt-card);
    border-color: var(--ppt-border);
    color: var(--ppt-text);
}

.ppt-theme.ppt-theme--dark-luxury .shop-product-specs li {
    background: #101622;
    border-color: var(--ppt-border);
}

.ppt-theme .shop-product-hero__summary {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.38fr);
    gap: 24px;
    align-items: start;
    margin: 0 0 20px;
}

.ppt-theme .shop-product-hero__aside {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.ppt-theme .shop-product-hero__facts {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.ppt-theme .shop-product-hero__facts .shop-product-specs {
    margin: 0;
}

.ppt-theme .shop-product-hero__facts .shop-product-buybox {
    margin: 0;
}

@media (max-width: 768px) {
    .ppt-theme .shop-product-hero__summary {
        grid-template-columns: 1fr;
    }
}
