.product-normalization-editor {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.product-normalization-shell {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.95rem;
    border-radius: 16px;
}

.product-normalization-shell--purchase {
    border: 1px solid #dbe4ee;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.product-normalization-shell--normalization {
    margin: 0;
}

.product-normalization-shell-head {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.product-normalization-shell-eyebrow {
    color: #9a3412;
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-normalization-shell-title {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

.product-normalization-shell-copy,
.product-normalization-subsection-copy {
    color: #64748b;
    font-size: 0.86rem;
    line-height: 1.5;
}

.product-normalization-shell-note {
    color: #475569;
    font-size: 0.84rem;
    line-height: 1.45;
}

.product-normalization-core-grid {
    gap: 0.75rem;
}

.product-normalization-subsection {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding-top: 0.15rem;
}

.product-normalization-subsection + .product-normalization-subsection {
    border-top: 1px solid rgba(251, 146, 60, 0.22);
    padding-top: 0.9rem;
}

.product-normalization-subsection-head {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.product-normalization-subsection-head--action {
    gap: 0.7rem;
}

.product-normalization-subsection-title {
    color: #7c2d12;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.product-normalization-subsection--result .ai-import-normalization-total-row {
    background: linear-gradient(135deg, #fff 0%, #fffbeb 100%);
    border-color: #fdba74;
}

.product-normalization-subsection--packaging {
    padding: 0.85rem;
    border: 1px dashed #fdba74;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.45);
}

.product-normalization-subsection--packaging .rz-button {
    align-self: flex-start;
}

@media (min-width: 768px) {
    .product-normalization-shell {
        padding: 1rem;
    }

    .product-normalization-subsection-head--action {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }
}
